簡體   English   中英

Mysql:使用 ON 子句從 3 個表中提取數據

[英]Mysql: Extract Data from 3 Tables using ON clause

我有一個與從 3 個表的組合中獲取記錄相關的查詢,返回的結果將在外鍵的幫助下使用 ON 子句獲取。

讓我們假設,我有三個名為table1table2table3 的表

表:表1

id   name   t2_id   t3_id
11   John   21      31
12   Doe    22      32

表:表2

id   value
21   ABC-1
22   ABC-2

表:表3

id   value
31   XYZ-1
32   XYZ-2

在 table:table1 中, t2_idt3_id分別是表示 table2 和table3中的 id 的外鍵。

題:

我想從 table1 中提取記錄,但還要使用 table1 中存在的外鍵從 table2 和 table 3 中獲取值。

預期結果:

id   name   t2_value   t3_value
11   John   ABC-1      XYZ-1
12   Doe    ABC-2      XYZ-2

我現在所做的:

我已經為執行此任務編寫了以下查詢,但它不起作用。

SELECT table1.id, table1.name, table2.value AS t2_value FROM table1 JOIN table2 ON (table1.t2_id=table2.id);

上述查詢的輸出將是這樣的:

id   name   t2_value
11   John   ABC-1
12   Doe    ABC-2

但我也想在這里結合第三個表的值。

請幫忙

重要說明:我想使用單個 MySQL 查詢來執行此操作。

你在正確的軌道上。 您只需要為table3添加另一個join子句並將您想要的列添加到選擇列表中:

SELECT table1.id, table1.name, table2.value AS t2_value, table3.value.value AS t3_value
FROM   table1 
JOIN   table2 ON table1.t2_id = table2.id
JOIN   table3 ON table1.t3_id = table3.id

暫無
暫無

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

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