我有一个包含主键ID列A和其他几个数据列的表。当B列和B列的唯一组合时,我需要构建一个选择此列A的查询。 C,在D列中有超过1个不同的值。谢谢!
答案 0 :(得分:1)
这应该可以解决问题:
select a.columnA
from tablename a
inner join (select columnB, columnC
from tablename
group by columnB, columnC
having count(distinct columnD) > 1) b on a.columnB = b.columnB and a.columnC = b.columnC
当使用columnB和columnC对tablename中的所有行进行分组时,内部联接选择具有多个(不同)columnD的行(columnB和columnC)。
然后外部联接将选择具有由内部联接产生的columnB和columnC的id(columnA)。