使用SQL Server 2008 R2对两列进行区分
我有一个select查询,如下所示:使用SQL Server 2008 R2对两列进行区分,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有一个select查询,如下所示: select cola,colb,colc,cold,cole,colf,colg,colh,coli,colj,colk from test where cola in (select colb from test); 如何从不同的列中仅获取不同的cola和colb 我的尝试: select Distinct cola,colb,colc,cold,cole,colf,colg,colh,coli,colj,colk from test wh
select cola,colb,colc,cold,cole,colf,colg,colh,coli,colj,colk
from test
where cola in (select colb from test);
如何从不同的列中仅获取不同的cola
和colb
我的尝试:
select Distinct cola,colb,colc,cold,cole,colf,colg,colh,coli,colj,colk
from test
where cola in (select distinct colb from test);
您可以使用:
这将为每个cola、colb组合选择任意行。如果您想对其进行微调,请将“按可乐订购”更改为更有意义的内容
WITH CTE AS
(
select cola,colb,colc,cold,cole,colf,colg,colh,coli,colj,colk,
rn = ROW_NUMBER() OVER (PARTITION BY cola, colb ORDER BY cola)
from test
where cola in (select colb from test)
)
SELECT cola,colb,colc,cold,cole,colf,colg,colh,coli,colj,colk
FROM CTE
WHERE rn = 1