我試圖通過兩個表來查看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