相互引用的列
columns referencing each other
假设有一个 table 包含如下数据行。
如上所示,申请人 79 有一个双胞胎 80,双胞胎 80 有申请人 79 作为双胞胎。
由于ID 11和12确实是同一个信息,所以我想select一个唯一的孪生数据如下。
如何在 SQL 服务器中实现此目的?
非常感谢您。
一个选项使用not exists
select t.*
from mytable t
where not exists (
select 1
from mytable t1
where
t1.applicantid = t.twinid
and t1.twinid = t.applicantid
and t1.applicantid < t.applicantid
)
存在镜像记录时,保留最小applicantid
的记录。
你可以简单地做:
select * from t where ApplicantId < TwinId
假设有一个 table 包含如下数据行。
如上所示,申请人 79 有一个双胞胎 80,双胞胎 80 有申请人 79 作为双胞胎。
由于ID 11和12确实是同一个信息,所以我想select一个唯一的孪生数据如下。
如何在 SQL 服务器中实现此目的?
非常感谢您。
一个选项使用not exists
select t.*
from mytable t
where not exists (
select 1
from mytable t1
where
t1.applicantid = t.twinid
and t1.twinid = t.applicantid
and t1.applicantid < t.applicantid
)
存在镜像记录时,保留最小applicantid
的记录。
你可以简单地做:
select * from t where ApplicantId < TwinId