>source

결과가 0인 경우에도 결과에서 모든 월을 보고 싶습니다.

제 쿼리는 다음과 같습니다.

선택 *에서 ( 선택하다 MONTH(begin_ts) AS [월]
,SUM(bmktonr= '7'인 경우의 대소문자) THEN dauer ELSE reserved1 END) + SUM(CASE WHEN bmktonr= '11' THEN 다우어 ELSE 리저브1 END) AS Prozess_Verfügbarkeit

,SUM(CASE WHEN bmktonr= '1'
 THEN dauer ELSE reserve1 END) + SUM(CASE WHEN bmktonr= '2'
 THEN dauer ELSE reserve1 END)
 AS Verfügbarkeit
FROM [hydra1].[hydadm].[v_ereignis]
WHERE masch_nr= 'FIMI1'
AND YEAR(begin_ts)=YEAR(CURRENT_TIMESTAMP)
GROUP BY MONTH(begin_ts)
)T
INNER JOIN
(
SELECT p.masch_nr
,SUM(b.ruest_zeit) as SOLLRüsten
,SUM(b.bearb_zeit) as SOLLProduktion
,SUM(b.ruest_zeit_zuschl) as SOLLZuschlag
,SUM(p.bmk_07) as ISTRüsten
,SUM(p.bmk_11) as ISTProduktion
,MONTH(prot_dat) as Month
FROM [hydra1].[hydadm].[v_auftrag_status] p
JOIN [hydra1].[hydadm].[v_auftrags_bestand] b
ON b.auftrag_nr= p.auftrag_nr
WHERE p.masch_nr= 'GEORG'
AND a_status= 'E'
AND YEAR(prot_dat)=YEAR(CURRENT_TIMESTAMP)
GROUP BY p.masch_nr, MONTH(prot_dat)
)T1 on T.Month= T1.Month
Order by T.Month

이것이 다음과 같이 보일 것입니다.

Month | Prozess_Verfügbarkeit | Verfügbarkeit
------+-----------------------+--------------
 1    |         344           |     4556
 2    |         0             |     0
 3    |         0             |     0
 4    |         0             |     0
 5    |         0             |     0
 6    |         0             |     0
 7    |         0             |     0
 8    |         0             |     0
 9    |         0             |     0
 10   |         0             |     0
 11   |         0             |     0
 12   |         0             |     0

고맙습니다.

  • 답변 # 1

    다음과 같은 작업을 수행해야 합니다.

    WITH months AS (
               SELECT 1 AS month_number
     UNION ALL SELECT 2
     UNION ALL SELECT 3
     ...
     UNION ALL SELECT 12
    )
    SELECT months.month_number
         , your_query.thing_a
         , your_query.thing_b
    FROM   months
     LEFT
      JOIN your_query
        ON your_query.Month= months.month_number
    ;
    

  • 이전 c# : 로드 밸런서 뒤의 DefaultHubCallerContext에서 IP 가져오기
  • 다음 .Net 6에서 부트스트랩 Intellisense 옵션 누락 -Blazor 페이지/구성 요소