這會返回Table
& Table2
中行數的複合,但我想只返回Table2
的計數,最好在ONE select語句中返回。多計數採用加盟?
SELECT Table.Name, Count(Table2.Active) FROM Table
LEFT JOIN Table2 ON Table2.Active = 1
建議?
這會返回Table
& Table2
中行數的複合,但我想只返回Table2
的計數,最好在ONE select語句中返回。多計數採用加盟?
SELECT Table.Name, Count(Table2.Active) FROM Table
LEFT JOIN Table2 ON Table2.Active = 1
建議?
寫SELECT
子句中的查詢:
SELECT Table.Name, (SELECT Count(Active) FROM Table2)
FROM Table
LEFT JOIN Table2 ON Table2.Active = 1
我沒有改變你的表「加盟」,但它沒有任何意義。
Downvoter,照顧評論? – gdoron 2012-04-22 03:50:23
爲什麼要拉第二個表的計數一次,在第一個表中的每一行?這是大大效率低下。好多做:
DECLARE @c INT;
SELECT @c = COUNT(*) FROM dbo.Table2;
SELECT Name, @c FROM dbo.Table;
沒有,這不符合你的「單身聲明」的要求,但我很好奇,爲什麼你認爲這是一個良好的或有效的查詢的措施。
您的加入沒有意義 - 它不是傳統意義上的連接記錄,它創造了未經過濾的*笛卡爾乘積*。 – dasblinkenlight 2012-04-22 02:47:48