簡體   English   中英

兩個內部連接 MYSQL

[英]Two Inner Joins MYSQL

我將如何在一個查詢中執行兩個內部聯接?

即:三張表

發票
地址
客戶

發票有一列引用客戶中的 id。 它還有一個引用地址的列。 我需要從匹配表中獲取客戶端名稱和匹配表中的地址。 我將如何INNER JOIN這兩個表?

我會添加一些細節...
發票有行地址(引用地址 id)、客戶端(引用客戶端 id)、id 和注釋客戶端有行 first_name、last_name 地址有行 street_name 和 city

我需要拉起來

您可以在查詢中擁有所需數量的JOIN子句。 每個子句都有一個ON子句,您可以在其中指定連接表之間的相關列。

SELECT
  columns
FROM
  invoice
INNER JOIN
  address
ON
  join_condition
INNER JOIN
  client
ON
  join_condition

就像是:

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

別忘了你只選擇你需要的字段,而不是*(全部)。

基於從上面的@Dan Grossman學習的示例例如:

SELECT FILM.TITLE, ACTOR.FIRST_NAME, ACTOR.LAST_NAME FROM ACTOR
INNER JOIN FILM_ACTOR
ON ACTOR.ACTOR_ID = FILM_ACTOR.ACTOR_ID
INNER JOIN FILM
ON FILM_ACTOR.FILM_ID = FILM.FILM_ID
WHERE ACTOR.FIRST_NAME = 'Nick' AND ACTOR.LAST_NAME = 'Wahlberg'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM