根据2列值拒绝一行

时间:2017-07-25 13:33:02

标签: sql oracle

以下是简单连接查询的输出。所有3列都来自不同的表。

 Col1     Col2        Col3  
Manual   Y-Yes      Include  
MC       Y-Yes      Include  
Manual   Y-Yes      Exclude  
Manual   Y-Yes      Exclude  

只有当相同的Col1值没有“排除”时,我才需要使用“包含”获取行。

如果Col1值没有“排除”,则可以显示“包括”。

因此,查询不应根据要求显示第一行,因为Col1值'Manual'具有'Exclude'。

1 个答案:

答案 0 :(得分:1)

你的sql查询应该看起来很像你的英文问题: 您希望所有没有行的行具有相同的col1值,其中包含'排除'在col3值,对吗? 我不能给出确切的sql,因为你没有提供表名或列名,但如果所有三列都在同一个表中,它将如下所示:

Select *  from mytable
where not exists
    (select * from mytable
     where col1 = t.col1
       and col3 = 'Exclude')