1

我有三张桌子。每一个都有三列。它看起来像这样:

表 1 表 2 表 3
-------------------- -------- ---------- ----------
col1 col2 colA col1 col2 colB col1 col2 colC
1 A 数据 3 C 数据 5 E 数据
2 B 数据 2 B 数据 6 F 数据
3 C 数据 1 A 数据 3 C 数据
4 D 数据 4 D 数据 2 B 数据
5 E 数据 6 F 数据 1 A 数据
6 F 数据 5 E 数据 3 C 数据

我的问题是,JOINS 是否有可能输出如下内容:

输出表                
-----------------------------------------
col1 col2 colA colB colC
1个数据数据数据
2 B数据数据数据
3C数据数据数据
4D数据数据数据
5 E数据数据数据
6 F数据数据数据

请注意,Col1 和 Col2 在不同列中始终具有相同的值,但顺序不同。

我什至不知道这是否可能,但理想情况下,查询将连接三个表并将 col1 和 col2 上的信息与每个相应的表相关联,并对两个连接表重新排序并输出单个表/数组。

让我知道这是否真的很愚蠢或复杂......我一直在努力解决这个问题,但通过 mySql 知识非常有限。

4

3 回答 3

1
SELECT *
FROM t1
LEFT JOIN t2 USING (col1, col2)
LEFT JOIN t3 USING (col1, col2)
于 2012-07-10T19:39:48.543 回答
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在示例中用作条件,因为不需要将数据链接在一起。

于 2012-07-10T19:39:49.633 回答
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
于 2012-07-10T19:40:12.710 回答