我有4个不同的表,我想加入。该表的列结构如下:如何使用ID连接多个SQL表?
TableA - aID | nameA | dID
TableB - bID | nameB | cID | aID
TableC - cID | nameC | date
TableD - dID | nameD
的表A开始,我了解如何加入采用B表a和c,由于B对这些表的主键。我希望能够在TableA上连接表TableD。下面是我认为首先加入表A和B的SQL语句,然后加入,为C:
SELECT TableA.*, TableB.*, TableC.* FROM (TableB INNER JOIN TableA
ON TableB.aID= TableA.aID)
INNER JOIN TableC ON(TableB.cID= Tablec.cID)
WHERE (DATE(TableC.date)=date(now()))
当我尝试添加其他加盟,包括d,我得到一个错误,“提交”未知:
SELECT TableA.*, TableB.*, TableC.*, TableD.* FROM (TableB INNER JOIN TableA
ON TableB.aID= TableA.aID)
INNER JOIN TableC ON(TableB.cID= Tablec.cID)
INNER JOIN TableA ta ON(ta.dID= TableD.dID)
WHERE (DATE(TableC.date)=date(now()))
不会选择tableN。*复制所有匹配的主键ID列标签的? (问题没有说明需要输出什么,但通常你不想这么做) – 2015-06-24 08:40:18
我可以问为什么'JOINTableC'是'ON' TableC.cID = TableB.cID'而不是'TableC.cID = TableA.cID'。我认为我们正在将'TableA'加入其他3个表格。 – emihir0 2015-10-28 23:48:33