繁体   English   中英

sql比较同一张表中的两个唯一行

[英]sql compare two unique rows from the same table

我希望这是一个直截了当的问题,但我无法解决它的语法。

我只需要查找“ ID2”中是否还存在“ ID”中的值,可以说名为“ teacher”的表

ID-ID2
10-1
11-2
12-13
13-4

唯一的匹配项是第4行,因为id2中也存在第13行,因此我需要通过选择查询将其删除,有人可以建议吗? 谢谢。

嗨,除此之外,我还有第二张表,名为“ staff”,具有以下设置

ID-Name
1-smith
2-jones
3-bruce

因此,ID与教师表中的ID是相同的,我想我需要在这里加入它们,但是我不确定第二张表中的ID如何处理。 我需要从第二个表中获取的唯一信息是名称,因此仅对表1中的处理进行处理后,笛卡尔乘积应与上面所示类似。

取消,解决它,谢谢

这是你想要的吗?

select t.*
from teacher t
where exists (select 1 from teacher t2 where t2.id = t.id2);
select *
from teacher
where id in (select distinct id2 from teacher)

要么

select t1.*
from teacher t1
join teacher t2 on t1.id = t2.id2
select t1.* 
from teacher as t1 ,teacher as t2 
where t1.ID = t2.ID2 and t1.ID > t2.ID2 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM