У меня проблема с SQL Server 2008, у меня есть 2 таблицы SlideShow и Slide. Общее поле в обеих таблицах - SlideShowId.
Теперь, чтобы получить все SlideShow с SlideCount, я использую эту процедуру.
ALTER PROCEDURE [dbo].[sp_GetAllSlideShow]
@FILTER BIT,
@PORTALID INT
AS
BEGIN
IF (@FILTER = 1)
SELECT SS.SLIDESHOWNAME + ' [' + CAST((COUNT(S.SLIDEID)) AS VARCHAR(MAX))+']', SS.SLIDESHOWID FROM SLIDESHOW SS
INNER JOIN SLIDES S
ON SS.SLIDESHOWID = S.SLIDESHOWID
WHERE SS.PORTALID = 0 AND [TYPE] IS NULL
GROUP BY SS.SLIDESHOWNAME, SS.SLIDESHOWID
ELSE
SELECT SS.SLIDESHOWNAME + ' [' + CAST((COUNT(S.SLIDEID)) AS VARCHAR(MAX))+']', SS.SLIDESHOWID FROM SLIDESHOW SS
INNER JOIN SLIDES S
ON SS.SLIDESHOWID = S.SLIDESHOWID
WHERE SS.PORTALID = @PORTALID
GROUP BY SS.SLIDESHOWNAME, SS.SLIDESHOWID
END
это работает нормально, но, скажем, если было создано новое слайд-шоу, эта процедура не показывает это слайд-шоу до тех пор, пока в этом слайд-шоу не будет создан новый слайд, на самом деле это потому, что я объединил обе таблицы для SlideCount нет слайда для определенного слайд-шоу, это слайд-шоу не будет отображаться, но я также хочу, чтобы это слайд-шоу. значение по умолчанию должно быть 0.
Есть ли способ, которым я могу это сделать.