2016-02-09 34 views
1

此创建SQL SELECT查询过滤器是我的表:有两个价值上相同的字段和条件

Srlno Item Code Category Code 
1  BT/000001  CLR 
2  BT/000001  SIZ 
3  BT/000001  WAT 
1  BT/000002  Swt 
2  BT/000002  Mol 
3  BT/000002  SIZ 

我用这个查询:

SELECT Item_Code 
FROM T_SubCatogoryDtls 
WHERE SubCat_code in (N'SIZ' , N'Swt') 
GROUP BY Item_Code 

但结果是:

BT/000001 
BT/000002 

我需要BT/000002,因为类别代码SizSwt这个项目中很常见代码 什么是正确的查询

回答

2

您必须添加一个HAVING条款:

SELECT Item_Code 
FROM T_SubCatogoryDtls 
WHERE SubCat_code in (N'SIZ' , N'Swt') 
GROUP BY Item_Code 
HAVING COUNT(DISTINCT SubCat_code) = 2 

HAVING过滤掉任何Item_Code码,也就是'SIZ''Swt'

+0

感谢您的更正,没有注意到它,所以我删除了我的答案。 – davejal

相关问题