两个内部联接MYSQL

Yos*_*ahu 23 mysql sql

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

即:三张桌子

发票
地址
客户端

Invoice有一列引用客户端中的id.它还有一个引用地址的列.我需要从匹配的表中获取客户端名称和匹配表中的地址.我怎么会这INNER JOIN两张桌子?

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

我需要拉起来

Dan*_*man 38

您可以在查询中拥有所需数量的JOIN子句.每个子句都有一个ON子句,您可以在其中指定连接表之间的相关列.

SELECT
  columns
FROM
  invoice
INNER JOIN
  address
ON
  join_condition
INNER JOIN
  client
ON
  join_condition
Run Code Online (Sandbox Code Playgroud)


Pri*_*ner 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
Run Code Online (Sandbox Code Playgroud)

别忘了你只选择你需要的字段,而不是*(全部).