如何使用ID连接多个SQL表?

如何使用ID连接多个SQL表?

我有4个不同的表,我想加入。这些表的结构如下:

TableA - aID | nameA | dID

TableB - bID | nameB | cID | aID

TableC - cID | nameC | date

TableD - dID | nameD

从表A开始,我理解如何使用b来连接表a和c,因为b具有这些表的主键。我希望能够在TableA上加入表TableD。下面是我的SQL语句,它首先连接表A和B,然后将它连接到C:

SELECT TableA.*, TableB.*, TableC.* FROM (TableB INNER JOIN TableAON TableB.aID= TableA.aID)INNER JOIN TableC ON(TableB.cID= Tablec.cID)WHERE (DATE(TableC.date)=date(now()))

当我尝试添加另一个连接时,要包含D,我得到一个'TableD'未知的错误:

 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()))


达令说
浏览 604回答 3
3回答

慕盖茨4494581

SELECT      a.nameA, /* TableA.nameA */     d.nameD /* TableD.nameD */FROM TableA a      INNER JOIN TableB b on b.aID = a.aID      INNER JOIN TableC c on c.cID = b.cID      INNER JOIN TableD d on d.dID = a.dID  WHERE DATE(c.`date`) = CURDATE()
打开App,查看更多内容
随时随地看视频慕课网APP