使用Access,我有下表
ID Root_ID Level Code
S1 S 10 ABC
S3 S 20 DFG
L4 L 10 FFF
L4 L 20 GGG
F2 F 10 ABC
我正在寻找的是:具有相同代码的行,在相同级别但具有不同的Root_ID。
我使用两次相同的表T创建了一个查询,并在Level和代码上创建了一个内部连接。在尝试识别不同的Root_ID之前我先尝试了这个,但返回的结果是错误的......
例如,结果应为:
ID Root_ID Level Code
S1 S 10 ABC
F2 F 10 ABC
感谢您的帮助!
答案 0 :(得分:1)
您可以找到子查询中有多个唯一root_id的代码级别,然后将其与表连接以获取完整的行。
select a.*
from your_table as a
inner join (
select code, level
from your_table
group by code, level
having count(distinct root_id) > 1
) as b on a.code = b.code
and a.level = b.level
答案 1 :(得分:0)
试试这个
select t1.*
from your_table as t1
inner join (
select code, level
from your_table
group by code, level
having min(root_id) <> max(root_id)
) as t2 on t1.code = t2.code
and t1.level = t2.level