SQL查询以获取具有相同ID但其他列中的值不同的行,并根据某些条件获取行

时间:2019-12-27 10:43:09

标签: mysql sql

我正在使用下表:

enter image description here

两行的case_id。如果大小写相同,那么我想获取具有Test_script_type作为自动化的行,而忽略手册。如果只有手册,则获取手册行。如何使用SQL查询实现它。输出如下:

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用not exists和一些逻辑:

select b.*
from below b
where b.script_type = 'automation' or
      not exists (select 1
                  from below b2
                  where b2.case_id = b.base_id and
                        b2.script_type = 'automation'
                 );

也就是说,选择所有带有'automation'的行,然后选择没有大小写'automation'的所有行。