Tabellen mit JOIN anhand Jahr-Monat verbinden

digor

Benutzer
Beiträge
13
Hallo!

Zwei Tabellen möchte ich anhand von Datumfeld verbinden (mySQL), da in den Tabellen nur diese Felder korrespondieren. Da die Tabellen gegenseitig nicht alle Datums haben, möchte ich anhand vom Jahr-Monat verbinden. Denn Jahr-Monat in jeder Tabelle präsent ist. Klappt es bei mir aber nicht. Im Hintergrund läuft es wahrscheinlich immer noch als Datum, als nicht als Textstring "%Y-%m". Gibt es hierzu eine Möglichkeit die Tabellen zu verbinden?
SELECT
DATE(t1.datum1) AS 'dt_tab1',
DATE_FORMAT(t1.datum1, "%Y-%m") AS 'ym_tab1',
SUM(t1.menge1) AS 'm_tab1',
DATE(t2.datum2) AS 'dt_tab2',
DATE_FORMAT(t2.datum2, "%Y-%m") AS 'ym_tab2',
SUM(t2.menge2) AS 'm_tab2',
FROM t1
CROSS JOIN DATE_FORMAT(t1.datum1, "%Y-%m")=DATE_FORMAT(t2.datum2, "%Y-%m")
GROUP BY 1,2,4,5

Besten Dank für Eure Unterstützung!
Viele Grüße
digor
 

Anhänge

Werbung:
Versuch doch mal sowas:

Code:
SELECT taba.* , tabb.*

FROM (
  SELECT datum1 as newdate
  FROM taba
  UNION DISTINCT
  SELECT datum2
  from tabb
  ORDER BY newdate
 ) as tx
LEFT JOIN taba ON newdate = taba.datum1
LEFT JOIN tabb ON newdate = tabb.datum2;
 
Zurück
Oben