我在这里试过在两列上应用连接。
SELECT
abc.*
FROM abc
INNER JOIN xyz
ON abc.column1 = xyz.column1
INNER JOIN xyz AS xyz2
ON abc.column2 = xyz2.column2
此查询的结果包含81行,具有相同的数据,因为它必须返回唯一的一行。
我用DISTINCT尝试了这个,但它对我不起作用。
结果表(abc)包含列id,column1,column2,其中column1和column2中的数据可以重复。
但是,第1列和第2列的组合永远不会重复。
那么如何在结果中为两列添加DISTINCT。
任何人都可以帮助我,我如何限制获得具有相同数据的意外行数?
答案 0 :(得分:0)
据推测,由于多次匹配,您的数据正在成倍增加。也许你的意思是:
select abc.*
from abc
where exists (select 1 from xyz where abc.column1 = xyz.column1) and
exists (select 1 from xyz where abc.column2 = xyz.column2);