如何在一个查询中预先形成两个内部联接?
即:三张桌子
发票
地址
客户端
Invoice有一个列引用客户端中的id。它还有一个引用地址的列。我需要从匹配的表中获取客户端名称和匹配表中的地址。我如何INNER JOIN
两个表?
我会添加一些细节......
invoice有行地址(引用地址id),客户端(引用客户端ID),id和注释
客户端有行first_name,last_name
地址有行street_name和city
我需要拉起来
答案 0 :(得分:34)
您可以在查询中拥有所需数量的JOIN子句。每个子句都有一个ON子句,您可以在其中指定连接表之间的相关列。
SELECT
columns
FROM
invoice
INNER JOIN
address
ON
join_condition
INNER JOIN
client
ON
join_condition
答案 1 :(得分:9)
类似的东西:
SELECT
c.*, i.*, a.*
FROM
invoices i
INNER JOIN
client c
ON
i.clientid = c.clientid
INNER JOIN
address a
ON
a.clientid = c.clientid
WHERE
i.id = 21
不要忘记你只选择你需要的字段,而不是*(全部)。