我试图通过两个表来查看TableA和TableB打印出任何显示多于1个计数的TableA.ID。表A看起来是这样的:IF(Count(*)> 1)
ID | Code
------------
1 | A
2 | B
3 | C
表B貌似
ID | AID | EffectiveDate | ExpirationDate
------------------------------------------------
1 | 1 | 2012-01-01 | 2012-12-31
2 | 1 | 2012-01-01 | 2012-12-31
3 | 2 | 2012-01-01 | 2012-12-31
4 | 3 | 2012-01-01 | 2012-12-31
查询我使用看起来像这样:
DECLARE @MoreThanOne varchar(250)
SET @MoreThanOne = ''
IF((SELECT COUNT(*) FROM TableA
WHERE EXISTS(
SELECT TableB.ID
,TableB.EffectiveDate
,TableB.ExpirationDate
FROM TableB
WHERE TableB.AID = TableA.ID
and GETDATE() Between TableB.EffectiveDate and TableB.ExpirationDate
)
GROUP BY TableA.Code) > 1)
BEGIN
--SET @MoreThanOne = @MoreThanOne + TableA.Code + CHAR(10)
END
PRINT @MoreThanOne
我知道,当返工它将我的嵌套查询工作在TableA中的唯一代码中打印全部计数。 我知道我无法使用我注释掉的内容,因为我无法访问TableA.Code。 我的问题是有另一种方法来做到这一点,或如何获得消息MoreThanOne的TableA.Code。
感谢您的帮助!
感谢就像一个魅力! – 2012-08-03 18:39:13