множественное количество на производной таблице
Я пытаюсь подсчитать общее количество коротких и итоговых запросов, используя производную таблицу, но она не работает.
select (SELECT COUNT(ID) FROM Dtable WHERE Is_shortlisted=1) AS TOTALSHORLISTED, (SELECT COUNT(ID) FROM Dtable WHERE Is_Interested=1) AS TOTALINERESTED from ( SELECT BM.ID, BM.Is_Interested, BM.Is_shortlisted, BM.Business_Masla_Status_ID FROM Business_Maslahal BM INNER join Vw_MaslaInfo MI on BM.[MaslaHal_ID]=MI.ID and BM.ID=2 AND MI.Masla_status_ID IN(1,2) ) Dtable
На самом деле вам даже не нужна производная таблица:
SELECT SUM(CASE WHEN Is_shortlisted=1 THEN 1 ELSE 0 END) AS TOTALSHORLISTED, SUM(CASE WHEN Is_Interested=1 THEN 1 ELSE 0 END) AS TOTALINERESTED FROM Business_Maslahal BM INNER join Vw_MaslaInfo MI ON BM.[MaslaHal_ID]=MI.ID WHERE and BM.ID=2 AND MI.Masla_status_ID IN(1,2)
Я также перенес некоторые условия из предложения ON
предложение WHERE
. Он не должен влиять на результаты, но делает запрос более читаемым.
Попробуйте так:
select SUM(CASE WHEN Is_shortlisted=1 THEN 1 ELSE 0 END) AS TOTALSHORLISTED, SUM(CASE WHEN Is_Interested=1 THEN 1 ELSE 0 END) AS TOTALINERESTED from ( SELECT BM.ID, BM.Is_Interested, BM.Is_shortlisted, BM.Business_Masla_Status_ID FROM Business_Maslahal BM INNER join Vw_MaslaInfo MI on BM.[MaslaHal_ID]=MI.ID and BM.ID=2 AND MI.Masla_status_ID IN(1,2) ) Dtable