[英]mySql multi-column join with coincident data
我有三張桌子。 每個都有三列。 看起來像這樣:
table 1 table 2 table 3 -------------------- -------------------- -------------------- col1 col2 colA col1 col2 colB col1 col2 colC 1 A data 3 C data 5 E data 2 B data 2 B data 6 F data 3 C data 1 A data 3 C data 4 D data 4 D data 2 B data 5 E data 6 F data 1 A data 6 F data 5 E data 3 C data
我的問題是,JOINS是否完全有可能輸出如下內容:
output table ----------------------------------------- col1 col2 colA colB colC 1 A data data data 2 B data data data 3 C data data data 4 D data data data 5 E data data data 6 F data data data
請注意,Col1和Col2在不同列中始終具有相同的值,但順序不同。
我什至不知道這是否可行,但理想情況下,查詢將聯接三個表,並將col1和col2的信息與每個表相關聯,並對兩個聯接表重新排序並輸出單個表/數組。
讓我知道這是真的還是愚蠢的...我一直在努力解決這個問題,但是mySql的知識非常有限。
SELECT *
FROM t1
LEFT JOIN t2 USING (col1, col2)
LEFT JOIN t3 USING (col1, col2)
當然可以。 只要表中的數據相同,就可以鏈接它們並一起顯示數據。
例如:
SELECT table1.*, colB, colC FROM table1, table2, table3
WHERE table1.col1 = table2.col1 AND table2.col1 = table3.col1
ORDER BY table1.col1 ASC;
將輸出您問題中的表格。 在示例中,我沒有使用col2
作為條件,因為不需要將數據鏈接在一起。
這是用於簡單雙連接的SQL。 如果您需要澄清我誤解的任何內容,可以調整。
SELECT
table1.col1,
table1.col2,
colA,
colB,
colC
FROM table1
JOIN table2
ON table1.col1 = table1.col1
AND table1.col2 = table2.col2
JOIN table3
ON table1.col1 = table3.col1
AND table1.col2 = table3.col2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.