ورود

View Full Version : مقدار Null به جای صفر (در پیوند دو جدول)



user1389
پنج شنبه 03 مرداد 1392, 18:56 عصر
با سلام
این کد برای تعیین تعداد جلد به امانت رفته هرکتاب نوشته شده. تقریبا درست عمل می کنه ولی برای کتاب هایی که به امانت نرفته اندمقدار Cnt به جای صفر، Null می شود.خواهشمند است درصورت امکان راهنمایی فرمایید.

SELECT Books.ID, Books.Title, Temp1.cnt
FROM Books LEFT OUTER JOIN
(SELECT BookID, COUNT(*) AS cnt FROM Amanat GROUP BY BookID) AS Temp1
ON Books.ID = Temp1.BookID

محمد سلیم آبادی
جمعه 04 مرداد 1392, 00:45 صبح
SELECT Books.ID, Books.Title, ISNULL(Temp1.cnt, 0) AS cnt
FROM Books LEFT OUTER JOIN
(SELECT BookID, COUNT(*) AS cnt FROM Amanat GROUP BY BookID) AS Temp1
ON Books.ID = Temp1.BookID;

محمد سلیم آبادی
جمعه 04 مرداد 1392, 00:52 صبح
البته الزامی به بهره گیری از derived table نیست:

SELECT B.ID AS BookID, B.Title, COUNT(A.BookID) AS cnt
FROM Books B
LEFT OUTER JOIN Amanat A
ON B.ID = A.BookID
GROUP BY B.ID, B.Title