来自多个表的内部联接sqlite
下面的代码给了我一个模棱两可的列驱动程序。driv_id错误,有什么帮助吗来自多个表的内部联接sqlite,sql,sqlite,join,Sql,Sqlite,Join,下面的代码给了我一个模棱两可的列驱动程序。driv_id错误,有什么帮助吗 SELECT DRIVER.driv_id, DRIVER.firstName, DRIVER.surName, DRIVER.nationality, TEAMSTANDING.teamName, RESULTS.points FROM TEAMSTANDING INNER JOIN DRIVER ON TEAMSTANDING.driv_id=DRIVER.driv_id, RESULTS INNER JOIN
SELECT DRIVER.driv_id, DRIVER.firstName, DRIVER.surName, DRIVER.nationality, TEAMSTANDING.teamName, RESULTS.points
FROM TEAMSTANDING INNER JOIN DRIVER ON TEAMSTANDING.driv_id=DRIVER.driv_id,
RESULTS INNER JOIN DRIVER ON RESULTS.driv_id=DRIVER.drv_id
WHERE TEAMSTANDING.comp_id=2
GROUP BY DRIVER.driv_id;
在查询中,您已经两次将驱动程序加入,所以您有两个表别名为DRIVER,并且您使用这两个表中的driv_id
将另一个表别名为其他表,或者,如果不需要,将其从联接中删除。必须尝试此操作,然后才能多次添加驱动程序表以创建此表
SELECT
DRIVER.driv_id, DRIVER.firstName, DRIVER.surName, DRIVER.nationality, TEAMSTANDING.teamName, RESULTS.points
FROM
TEAMSTANDING
INNER JOIN
DRIVER
ON
TEAMSTANDING.driv_id=DRIVER.driv_id
INNER JOIN
RESULTS
ON
RESULTS.driv_id=DRIVER.drv_id
WHERE
TEAMSTANDING.comp_id=2
GROUP BY
DRIVER.driv_id;
除了我下面的回答,我不确定你的查询是否与你认为的一样。在第一次内部连接之后,这意味着要对结果进行交叉连接。过一会儿我会在sqlfiddle上发布一些东西。现在不行。这就是我想你要写的问题。下面是您的FROM声明,以供比较。