我有一个只有ID的表。另一个表有ID和其他几列。其中一列是[set],供参考。
我试图只对table2中column [set]中每一行都具有相同值的ID构建连接查询,而不是只对[set]中具有重复值加上另一个不同值的ID构建连接查询,因此,table2中的每个ID可以有多行。
表一
| [id] |
| - ------|
| a1|
| a2|
表二
| [id] |[操作]|[设置]|
| - ------|- ------|- ------|
| a1|二十二|切割|
| a1|二十一|切割|
| a2|二十三|切割|
| a2|二十五|切割|
| a2|二十四|切片|
在给定的示例中,'a2'不符合条件,因为column [set]中的值不完全相同。
我的查询不起作用。
SELECT DISTINCT(A.ID)
FROM TABLE1 A
INNER JOIN TABLE2 B ON A.ID = B.ID
GROUP BY A.ID, B.SET
HAVING COUNT(DISTINCT(B.SET)) =1
1条答案
按热度按时间vltsax251#
我们是按
id
和set
分组的,所以根据定义,每个组中set
只有一个值,将其从group by
子句中删除就可以了,另外,因为我们是按id
分组的,所以不需要distinct
: