我有三张桌子。每个都有三列。它看起来像这样:
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的信息与每个相应的表相关联,并重新排序两个连接表并输出单个表/数组。
让我知道这是非常愚蠢还是复杂......我一直在试图解决这个问题但是我的知识非常有限。
答案 0 :(得分:1)
SELECT *
FROM t1
LEFT JOIN t2 USING (col1, col2)
LEFT JOIN t3 USING (col1, col2)
答案 1 :(得分:0)
当然有可能。只要表中有相同的数据,就可以链接它们并一起显示数据。
例如:
SELECT table1.*, colB, colC FROM table1, table2, table3
WHERE table1.col1 = table2.col1 AND table2.col1 = table3.col1
ORDER BY table1.col1 ASC;
会输出你问题中的表格。我没有在示例中使用col2
作为条件,因为不需要将数据链接在一起。
答案 2 :(得分:0)
这是一个简单的双连接的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