两个内部联接MYSQL

时间:2011-02-06 23:29:24

标签: sql mysql

如何在一个查询中预先形成两个内部联接?

即:三张桌子

发票
地址
客户端

Invoice有一个列引用客户端中的id。它还有一个引用地址的列。我需要从匹配的表中获取客户端名称和匹配表中的地址。我如何INNER JOIN两个表?

我会添加一些细节......
invoice有行地址(引用地址id),客户端(引用客户端ID),id和注释 客户端有行first_name,last_name 地址有行street_name和city

我需要拉起来

2 个答案:

答案 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

不要忘记你只选择你需要的字段,而不是*(全部)。