加入一张桌子和另外3张桌子

时间:2014-12-16 01:47:32

标签: mysql sql select join left-join

有人可以帮我加入这些桌子吗?

http://i.imgur.com/kbOEGnx.png?1

我加入他们之后:

SELECT TableA.*, TableB.*, TableC.*, TableD.*
FROM TableA
    JOIN TableB
        ON TableB.aID = TableA.aID
    JOIN TableC
        ON TableC.cID = TableB.cID
    JOIN TableD
        ON TableD.dID = TableA.dID

它没有给我发行票据表中的所有行。我如何加入这些表,以便能够从issue_tickets获取所有信息,但设备名称而不是equipment_id?我想用issue_categories和issue_status做同样的事情。

希望得到帮助! 谢谢!

1 个答案:

答案 0 :(得分:1)

使用 LEFT JOIN 代替 JOIN ,它将从LEFT表中获取所有记录,并从RIGHT表中获取匹配的数据

试试这个:

SELECT t.id, t.date_created, t.date_due, t.summary, t.description, t.solution, 
       e.name, s.status, c.name
FROM issue_tickets t
LEFT JOIN equipment e on t.equipment_id = e.id
LEFT JOIN issue_status s on t.issue_status_id = s.id
LEFT JOIN issue_categories c on t.issue_categories_id = c.id