我有一個像如何選擇所有記錄,即使在SQL中沒有數據
SELECT 'Education' as Purpose,ate_sex, Age_range, COUNT(*) AS Total
FROM (
SELECT dbo.ClientMain.ate_sex, dbo.ClientMain.ate_Id,
CASE
WHEN ate_Age BETWEEN 15 AND 19 THEN '15-19'
WHEN ate_Age BETWEEN 20 AND 24 THEN '20-24'
WHEN ate_Age BETWEEN 25 AND 34 THEN '25-34'
WHEN ate_Age BETWEEN 35 AND 44 THEN '35-44'
WHEN ate_Age BETWEEN 45 AND 54 THEN '45-54'
WHEN ate_Age BETWEEN 55 AND 64 THEN '55-64'
ELSE '80+' END AS Age_range
FROM dbo.ClientMain
INNER JOIN dbo.ClientSub ON dbo.ClientMain.ate_Id = dbo.ClientSub.ate_Id
WHERE (dbo.ClientSub.chk_Name = N'Assistance')
) AS t group by ate_sex,Age_range
查詢作爲返回數據:
但我想我的結果當他在15-19歲時沒有記錄時,必須歸零。作爲教育男15-19 0 這些是我的表 任何人都可以請修改我的查詢來獲得零的記錄沒有。
請提供一個ClientMain和ClientSub行的示例。 –
您的ClientMain表中是否有15到19行的ate_sex ='Male'?如果是,您可能想要使用LEFT JOIN而不是Inner join。 –
查看我的表格結構.. @ Francesco De Lisi –