[英]Mysql: Extract Data from 3 Tables using ON clause
我有一個與從 3 個表的組合中獲取記錄相關的查詢,返回的結果將在外鍵的幫助下使用 ON 子句獲取。
讓我們假設,我有三個名為table1 、 table2和table3 的表。
表:表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_id和t3_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.