0
在執行我的查詢子查詢聚合函數
不能對包含 聚合或子查詢的表達式執行聚合函數,我得到一個錯誤。
代碼:
SELECT
S.id,
SUM(CASE WHEN sc.coverage IN (SELECT number FROM ArrayOfIntegersFromString(@dynamicData)) THEN 1 ELSE 0 END) as sm
FROM
Storefronts s
LEFT JOIN StorefrontCoverages sc ON s.id = sc.storefront
LEFT JOIN Vendors v ON s.vendor = v.Id
WHERE
(
v.active = 1
AND
s.approved = 1
AND
s.status = 1
)
GROUP BY S.id
HAVING SUM(CASE WHEN sc.coverage IN (SELECT number FROM ArrayOfIntegersFromString(@dynamicData)) THEN 1 ELSE 0 END) > 0
ORDER BY sm desc
SUM
在SELECT
不像一個在HAVING
那麼重要,因此,如果有人可以幫助我,即使沒有在SELECT
是SUM(...)
這將是有益的。
由於T-SQL沒有數組,那是你必須有一個非常嚴重命名功能。 –