-1
我想要一個SQL查詢以遵循WHERE語句的條件,除了那些子查詢。在下面的例子中,我希望獲得上週的所有條目,但我希望子查詢忽略外部WHERE子句,但我不確定它的行爲。如果子查詢有它自己的WHERE條件,子查詢是否會忽略外部WHERE條件?
例如:
SELECT
ProductID,
SUM(CASE WHEN from_source = 'button' THEN 1 ELSE 0 END) 'Used Button',
(SELECT COUNT(*) FROM tracking WHERE from_source = 'button') 'Used Button to date'
FROM tracking
WHERE date_entered > (GETDATE() - 7)
GROUP BY ProductID
預期輸出,其中第二塔是基於外計算WHERE和子查詢沒有注視外WHERE:
的ProductID |使用的按鈕|使用過的按鈕迄今
123 | 5 | 102
456 | 8 | 175
是的,您的'用過的按鈕至日期列'將返回所有數據,而不僅僅是具有不到7天的'date_entered'的數據。 – AHiggins 2014-11-06 19:46:27
顯示您的預期輸出 – 2014-11-06 19:47:59
它將在您在SO上發佈之前測試它時的行爲。在你發佈之前你確實測試過了,不是嗎? – 2014-11-06 19:48:29