私のクエリはゼロ行全体を表示していません。つまり、私の出力にはいくつかの行があり、その出力はすべての列の中でゼロです。その特定の行が出力に表示されませんでした。出力にゼロ行でも入れたい
私はこのような出力を得ています
abc 1 2 3
def 4 5 6
xyz 2 5 4
mng 2 5 6
しかし、私が必要とした実際の出力は
abc 1 2 3
def 4 5 6
ghf 0 0 0
xyz 2 5 4
mng 2 5 6
jkl 0 0 0
ゼロを含む行が削除されています。
私は2つのテーブル間の結合を使用しています..最初の列はグループごとに使用しています。残りの列は、..の合計の結果です。
出力にゼロが表示される理由は、セカンダリ テーブルにそれらの名前のデータがない..データが存在しない..しかし、列全体を見逃すのではなく、ゼロとして表示したいからです。
これが私が使用したクエリです.....
SELECT
[ASACCT].ACCT_MO_I as 'Types'
,sum(CASE when [TECH_V].[CLOS_T]='N4' THEN 1 ELSE 0 END) AS 'N4'
,SUM(CASE when [TECH_V].[CLOS_T]='N3' THEN 1 ELSE 0 END) AS 'N3'
,SUM(CASE when [TECH_V].[CLOS_T]='N2' THEN 1 ELSE 0 END) AS 'N2'
FROM [supt_oper_anls_dw].[dbo].[TECH_V] as [TECH_V]
LEFT OUTER JOIN [supt_oper_anls_dw].[dbo].ACCT_DATE_DIM AS [ASACCT]
ON CONVERT(varchar(10),[ASACCT].GREG_D, 101) = CONVERT(varchar(10), [TECH_V].[OPEN_TS], 101)
WHERE
[TECH_INCDT_V].[KGRP_I] ='73fd71ecf84f5080217683869fd819c3'
and ((
[ASACCT].ACCT_MO_I >(datepart(MONTH,getdate()))-1-6
and [ASACCT].ACCT_MO_I <=(datepart (MONTH,getdate()))-1
and [ASACCT].ACCT_YR_I = (datepart(year,getdate()))
)
or (
[ASACCT].ACCT_MO_I>(datepart(MONTH,getdate()))-6-1+12
and [ASACCT].ACCT_YR_I = (datepart(year,getdate()))-1
))
and [TECH_V].Notes like '%MFTFD%'
and [TECH_V].notes like '%DEV%'
group by
[ASACCT].ACCT_MO_I,[ASACCT].ACCT_YR_I