MySQL Nullwerte

didi577

Bekanntes Mitglied
Hi,

folgende Abfrage:
Code:
SELECT LPAD(MONTH(t.tage), 2, 0) AS Monat, COUNT(t.tage) AS Tage
FROM crmdb_copy.vacation v JOIN crmdb_copy.tage_jahr t ON t.tage BETWEEN DATE_FORMAT(from_unixtime(v.start), '%Y-%m-%d') AND DATE_FORMAT(from_unixtime(v.stop), '%Y-%m-%d') JOIN crmdb_copy.users u ON v.userid = u.id
WHERE status =6
AND YEAR(t.tage) =2020
AND u.id IN (SELECT u.id FROM crmdb_copy.users u WHERE u.group_id LIKE '%82%')
GROUP BY MONTH(t.tage)

Das Ergebnis:

026
0313
064
0711
0810

Wenn das Ergebnis eines Monats 0 ist, soll bespw. in Spalte 1 = 01 und Spalte 2 = 0 stehen. Jeder Monat der 0 ergibt soll auch dargestellt weren.

Wer kann mir helfen ?

Besten dank
Patrick
 

LimDul

Top Contributor
Was gehen, wenn es eine Tabelle geben, wo in 12 Zeilen nur 01, 02,...12 drinsteht. Dann die einfach mit einem Outer JOIN joinen und ein Select drum rum mit NVL(tage, 0).
 

mihe7

Top Contributor
Ab MySQL 8:

SQL:
WITH RECURSIVE monate (n) AS (
  SELECT 1 
  UNION
  SELECT n+1 FROM monate WHERE n < 12
)
SELECT lpad(n, 2, 0) as Monat FROM monate -- usw.
;
 

Neue Themen


Oben