如何在子選擇中簡單地對多行進行硬編碼?使用子選擇選擇多個硬編碼行
我知道我能做到(How to select several hardcoded SQL rows?):
SELECT x.id, SUM(ISNULL(OtherTable.count_column,0))
FROM (SELECT 12 AS id
UNION
SELECT 21 AS id
UNION
SELECT 101 AS id
/*AND so on */
) AS x
LEFT JOIN OtherTable ON x.id = OtherTable.id
Group BY x.id
有沒有少尷尬和詳細的方式做到這一點?
我所真正需要的是:
SELECT id, SUM(ISNULL(count_column,0)) FROM OtherTable
WHERE id IN (12, 21, 101,/*And So On*/)
GROUP BY id
在這種情況下,它不包括0的總和不存在的ID。有沒有一種方法可以包含沒有找到的ID?
我注意到SQL Server的PIVOT
,但我不確定這是否使它更簡單/不太詳細。
我想我只是問有沒有更好的方法?
我本來應該更清楚,這些只是ID不是一個範圍。我將編輯問題。 – rileymat