查询有问题或我对存在应该如何运作有所了解。
我想通过id返回重复列表来隔离和消除。
查询:
select id
, ref_id
from assets
where exists
(
select ref_id
from assets
where ref_id is not null
group by ref_id
having count(id)>1
)
子查询正好返回我期望的内容,但整个查询返回所有资产记录。我认为它应该只在子查询中包含它。
请告知
答案 0 :(得分:0)
您需要在exists:
中使用外部表中的字段select id
, ref_id
from assets _assets
where exists
(
select ref_id
from assets _existingAssets
where ref_id is not null
and _existingAssets.ref_id = _assets.ref_id
group by ref_id
having count(id)>1
)
您也可以使用in
caluse执行此操作:
select id
, ref_id
from assets
where ref_id in
(
select ref_id
from assets
where ref_id is not null
group by ref_id
having count(id)>1
)