我需要自加入一张表,其标准是 id 不应该相同,但市场应该以这种方式相同 我找到了不同 ID 的相关市场,但这样做时我得到了重复的关系,例如 1-3 和 3-1,但我不需要这两个条目 我只需要第一个 1-3 表中有数百万行,所以请帮我优化这个查询。
declare @tbl table (id int , market varchar(100))
insert into @tbl (id,market)
values(1,'abc'),(2,'xyz'),(3,'abc')
select a.id , a.market , b.id ,b.market
from @tbl a join @tbl b
on a.id <> b.id
and a.market = b.market
最佳答案
干净简单
select abc.id, abc.market , xyz.id , xyz.market
from @tbl abc join @tbl xyz
on abc.id <> xyz.id and abc.market = xyz.market and abc.id < xyz.id
关于sql - 删除自连接中的重复关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48314628/