1

質問があります

SELECT [Category] = ISNULL ( c.Category,'0'),
       COUNT (cl.ClientID) as [3 Mo Clients]
FROM Category c  LEFT JOIN clients cl ON cl.CategCode = c.CategCode 
WHERE agencyid =2
GROUP BY  c.Category, c.CategCode

その作業ですが、カテゴリテーブルのすべてのカテゴリがnullであっても表示する必要がありますが、クエリを実行すると次のようになります

カテゴリ テーブルからのカテゴリ

Child
Infant
Newborn
Pregnant
Postpartum
Senior

必要に応じて機能しない方法ISNULLはありますか?

4

1 に答える 1

2

WHEREのように振る舞う句の行をフィルタリングしたためですINNER JOIN列が table にあると推測しているONため、条件を句に入れる必要があります。agencyidCategCode

SELECT  [Category] = ISNULL ( c.Category,'0'),
        COUNT (cl.ClientID) as [3 Mo Clients]
FROM    Category c  
        LEFT JOIN clients cl 
           ON cl.CategCode = c.CategCode  AND 
              cl.agencyid = 2
GROUP   BY  c.Category, c.CategCode

更新 1

SELECT  [Category] = ISNULL ( c.Category,'0'),
        COUNT (cl.ClientID) as [3 Mo Clients],
        SUM(CASE WHEN statusid in (1,2) THEN 1 ELSE 0 END) [Status_1_2]
FROM    Category c  
        LEFT JOIN clients cl 
           ON cl.CategCode = c.CategCode  AND 
              cl.agencyid = 2
GROUP   BY  c.Category, c.CategCode
于 2013-03-13T02:59:01.333 に答える