我有桌子:
env | app | prop_file | prop | value
qa1 e a a testa
qa1 g b a testa
qa1 s c a testb
qa2 s a b testc
qa2 s d b testc
qa3 a a b testc
qa4 z g c testb
qa4 x a c testb
我需要以下结果:
env | prop_file | prop | value
qa1 a a testa
qa1 c a testb
我将尝试总结,我只需要在给定“prop”的“值”在特定“env”内不匹配的结果。如果“prop_file”或其他列不匹配,则无关紧要。同样在结果中我需要不匹配的列的prop文件。实际上,我也可以接受以下结果:
env | prop_file | prop | value
qa1 a a testa
qa1 b a testa
qa1 c a testb
我已经尝试了一堆连接和组并且计数但似乎无法确定exect语法!让我疯了如果需要,我可以在源表中提供更多示例。
答案 0 :(得分:0)
以下是您遇到问题的env / prop列表:
select env, prop
from t
group by env, prop
having count(distinct value) > 1;
这会连接回原始表以获取有问题的记录:
select t.*
from t join
(select env, prop
from t
group by env, prop
having count(distinct value) > 1
) tep
on t.env = tep.env and t.prop = tep.prop;