【发布时间】:2019-05-10 20:43:23
【问题描述】:
我需要一个满足要求的sql查询条件。示例表
ID FieldA FieldB
1 A Cat
2 A Dog
3 A Horse
4 B Dog
5 B Horse
6 B Cat
8 C Dog
9 C Horse
所以我想获取包含在 FieldB Dog 中的 FieldA,使用 IN 条件的马应该返回
FieldA
A
B
C
但是如果我想要 Dog,Horse,Cat 它会返回
FieldA
A
B
`C` should not be return *explained below*
我希望条件排除没有“全部”条件项的项。 我试着环顾四周,我能得到的最接近的是
Select FieldA
From ATable
Where 1=1 And FieldB IN (Dog,Horse,Cat) //This is numeric value *explain below*
GROUP BY FieldA
HAVING COUNT(DISTINCT FieldB ) > 1
这是一个中间表,所以 Dog,Horse,Cat 实际上是其他表的数字 ID。我对其进行了调整,以便您更容易理解我的问题。
但这仍然会返回 FieldA C,这不是我想要的。但仅从 FieldA 返回 A,B,因为两者都包含“ALL”条件。 提前致谢。
【问题讨论】:
标签: mysql