T-SQL一栏两例

时间:2017-09-21 06:47:47

标签: sql-server tsql

TBL1

PKSip   Active
123123  1
123125  1

TBL2

FKSip   Code
123123  1
123123  2
123125  2
123125  2

我想要所有代码= 2条记录。查询将返回

PKSip
123125

我试试

SELECT * FROM 
(SELECT PKSip FROM tbl1 t 
JOIN tbl2 t2 ON t.PKSip=t2.FKSip
WHERE t2.Code='2' AND t.Active=1) RP JOIN tbl2 ON RP.PKSip=tbl2.FKSip
WHERE tbl2.Code!='2'

1 个答案:

答案 0 :(得分:0)

执行GROUP BY,使用HAVING确保没有其他代码值超过2:

SELECT FKSip
FROM tbl2
GROUP BY FKSip
HAVING MAX(Code) = 2 and MIN(Code) = 2