select * from (select * from a union all select * from b) T where name in (select name from a where name in( select name from b))
已经经过测试。
场景:表中包含有group_id,worker_id,status字段,查询这三个字段是否存在重复的数据。
查找某个人在某个班组内存在多个status为0的数据,将最小的id选出来
查找某个人在某个班组内存在多个status为0的数据,将最小的id选出来,并设置status为1
将查询查询结果作为where in的条件,需要select的结果再通过一个中间表select多一次,否则会报You can't specify target table for update in FROM clause。
你是要查找数据库中某个字段下的相同数据吧,我给你写2个例子(数据库执行效率高)
select * from dbo.MediafileInfo as a where
(VideoDownUrl IN (SELECT VideoDownUrl FROM MediafileInfo AS B WHERE A.ProgramID <>B.ProgramID))
(数据库执行效率低)
SELECT *
FROM MediafileInfo AS A
WHERE (SELECT COUNT(*) FROM MediafileInfo WHERE VideoDownUrl=A.VideoDownUrl)>1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)