我需要从 2 个表中选择几列:
Tab1
| Col1 | Col2 | Col3
Tab2
| Col1 | Col4 | Col5
这是我的查询:
SELECT A.*,B.Col4
FROM Tab1 A,Tab2 B
WHERE A.Col1=B.Col1
AND A.Col2=='XXX'
AND A.Col3>5;
然而,此查询以某种方式连接两个表并复制某些行。有什么问题吗?
预期的结果是这样的:
Tab3
| Col1 | Col2 | Col3 | Col4
最佳答案
你发的query没有问题,但是如果有问题
duplicates some rows
如您所述,然后使用 DISTINCT
:
SELECT DISTINCT A.*, B.Col4
FROM Tab1 A, Tab2 B
WHERE A.Col1 = B.Col1
AND A.Col2 = 'XXX'
AND A.Col3 > 5;
或其他 JOIN
语法:
SELECT DISTINCT A.*,B.Col4
FROM Tab1 A
INNER JOIN Tab2 B ON A.Col1 = B.Col1
WHERE A.Col2 ='XXX'
AND A.Col3 > 5;
关于mysql - 从两个表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12385638/