未获得所需的结果(SQL查询)

问题描述 投票:0回答:2

我想获取所有包含processed = 1 and认可的= 1的所有ID的所有行but如果同一个ID的任何行具有processed = 0且认可的= 0,则,我不想获取该特定ID的任何内容。

这是我想要的:

“

这是我的查询:

   select * from table1 oa
    inner join table2 kio on oa.id = kio.id_table_1
    inner join table3 joi on kio.col3 = joi.col3_id_table_2
    where joi.processed = 1
    and joi.approved = 1

SQL FIDDLE:

http://sqlfiddle.com/#!9/fc7266/3

我认为解决此问题的最佳方法是使用分组并具有条件,但对我不起作用

编辑:

[另一个人想这样做:“仅获取仅包含cols3 = 1和cols3 = 2的所有行(分别为值1和2),并且输出将是:给定表的“ A”,我不想拥有C,因为它具有cols的另一个值3!= of 1 or 2“

Col 1 Col 2 Col 3
1       A     1
2       A     2
3       B     1
4       C     1
5       C     2
6       D     1 
7       C     3 

他通过使用此查询解决了他的问题:

select col2
from yourtable
group by col2 
having sum(col3=1) > 0 
  and sum(col3=2) > 0
  and sum(col3 not in (1,2)) = 0 

就我而言是否可以这样做?

mysql sql
2个回答
0
投票

您可以添加额外条件:


0
投票
© www.soinside.com 2019 - 2024. All rights reserved.