0
下面的查詢下,找到在SQL Server列的計數會給我的出版物數量爲每個庫不同條件
Select lib.Name, COUNT(pub.Id) From Library lib
INNER JOIN Publication lib.ID = pub.FK_Library_Id
但是,在發佈的表,我有免費出版物和付費出版物和我想的數付費出版物和免費出版物。
下面的查詢給我的結果
Select lib.Name, COUNT(pub.Id), COUNT(pub1.Id) as 'Paid Publication COunt',
COUNT(pub2.Id) as 'FreePublication COunt'
From Library lib
INNER JOIN Publication pub ON lib.ID = pub.FK_Library_Id
LEFT JOIN Publication pub1 ON lib.ID = pub1.FK_Library_Id and pub1.Price > 0
LEFT JOIN Publication pub2 ON lib.ID = pub2.FK_Library_Id and pub2.Price =0
但是,這是在增加了兩個連接,這是不是最優化的成本。
如何以更有效和最優化的方式編寫上述查詢。
感謝
精彩。有效 – Marcus25