我有兩個疑問:獲取多個變量以顯示在SQL Server中?
Select count(*) as countOne where field = '1'
Select count(*) as countTwo where field = '2'
我想在我的結果瀏覽器執行這些查詢後看到:
countOne | countTwo
23 | 123
我怎麼能只運行一個查詢得到兩個查詢的結果?
我有兩個疑問:獲取多個變量以顯示在SQL Server中?
Select count(*) as countOne where field = '1'
Select count(*) as countTwo where field = '2'
我想在我的結果瀏覽器執行這些查詢後看到:
countOne | countTwo
23 | 123
我怎麼能只運行一個查詢得到兩個查詢的結果?
SELECT COUNT(CASE WHEN field = '1' THEN 1 END) AS countOne,
COUNT(CASE WHEN field = '2' THEN 1 END) AS countTwo
FROM YourTable
WHERE field IN ('1', '2')
+1,以便在單個查詢中重用它,而不是suub查詢。 – Pankaj 2011-12-21 17:11:35
最簡單的方法是運行每個作爲子選擇例如。
SELECT
(
Select count(*) where field = '1' as countOne,
Select count(*) where field = '2' as countTwo
)
但這不是necesarily的最佳方式
另一個京順路做到這一點。將組由字段,然後做PIVOT選擇出每一組作爲一個單獨的列。
這就是所謂的子查詢?它只是非常低效?如果是的話,什麼是更好的方法? – sooprise 2011-12-21 14:06:16
這將是數據密集的兩個單獨選擇。我在答案中指定了另一種選擇PIVOT,但必須查找語法(我不經常這樣做) – 2011-12-21 14:08:08
這些都是針對同一張表進行選擇嗎? – 2011-12-21 14:05:31
@MartinSmith,是 – sooprise 2011-12-21 14:05:51