选择在mysql中连接多个表?

时间:2013-06-19 19:41:14

标签: mysql join

我有三个表我正在尝试从中选择数据,每个表都有一个pID,这是我希望连接基于的。当我运行以下查询时,我仍然最终得到三个pID字段。

我的select join语句出了什么问题?

SELECT * FROM Player p
    LEFT JOIN AvgStats a ON a.pID = p.pID
    LEFT JOIN MisTotal m ON m.pID = p.pID;

Player Table
pID | Name | Age

AvgStats Table
pID | 3pt% | gamePoints

MisTotal Table
pID | Fouls | rebounds

我想创建一个返回

的表
pID | Name | Age | 3pt% | gamePoints | Fouls | rebounds

1 个答案:

答案 0 :(得分:4)

如果我正确理解您的问题,只需从查询中删除*并指定您想要的字段 - 在这种情况下,p.pID

SELECT p.pId FROM Player p
    JOIN AvgStats a ON a.pID = p.pID
    JOIN MisTotal m ON m.pID = p.pID;

鉴于您的编辑,这应该有效:

SELECT p.pID, p.Name, p.Age, a.`3pt%`, a.gamePoints, m.fouls, m.rebounds 
...

请确保使用特殊字符在列周围添加反引号。