Tabellen mit JOIN anhand Jahr-Monat verbinden

digor

Neuer Benutzer
Beiträge
4
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

  • tab.pdf
    53,5 KB · Aufrufe: 1
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