mysql - MySQL语法中如何通过MTM连接访问多个表?

标签 mysql sql

我正在尝试通过 MySQL 数据库上的 MTM 连接访问多个表。

这是一个示例图,它代表我的表格: enter image description here

我想仅通过一个 Sql 语句访问 User、Skill 和 SkillLevel。有没有办法使用例如多个 INNER JOIN'S?

我尝试过使用这样的东西:

SELECT * FROM User, Skill, SkillLevel 
INNER JOIN Members ON User.UserMail = Members.UserMail 
INNER JOIN Members ON Skill.SkillID = Members.SkillID
INNER JOIN Members ON SkillLevel.SkillLevelID = Members.SkillLevelID 
WHERE Members.TeamID = 123

你能帮我一下吗?

编辑:

我已经在 from 之后设置了表格。只有一个或多个,我总是得到

"Not unique table/alias: 'projectmembers'"

最佳答案

感谢jarlh我找到了解决方案!诀窍是通过用户、技能和技能级别加入。也因为Where语句,我不得不

从成员中选择*

解决方案是:

SELECT * FROM Members
JOIN User ON Members.UserMail = User.UserMail 
JOIN Skill ON Members.SkillID = Skill.SkillID
JOIN SkillLevel ON Members.SkillLevelID = SkillLevel.SkillLevelID 
WHERE Members.TeamID = 123 ;

关于mysql - MySQL语法中如何通过MTM连接访问多个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28277473/

相关文章:

php - 如何在php中运行外部程序

mysql - MySQL 中可接受的分组最大值技术

php - 如何在laravel 5.6中使用province_id打印省份名称

java - JOOQ 中的行级安全实现

sql - 从整数转换后如何按名称排序月份?

php - 为什么这个聚合函数查询给出语法错误?

mysql - 准备好的语句 Mysql

不同行中两个日期之间的 SQL 持续时间

mysql - 从另一个具有重复值的表更新表MySQL

MySQL: 输出 7 天前的产品计数