Wir haben zwei MySQL-Tabellen, die, wenn sie mit einem Standard-Join verbunden werden, doppelte Ergebnisse erzeugen. Der Grund dafür ist, dass das gemeinsame Feld, mit dem sie verbunden werden, nicht eindeutig ist. Wir haben mehrere Varianten ausprobiert, sind jedoch nicht in der Lage, die richtigen Ergebnisse zu erzielen. Hoffentlich kann uns jemand in die richtige Richtung weisen.
Table A/ws_511_1
Table B/ws_583_1
Die richtige Ausgabe sollte wie folgt aussehen:
Correct output
Die Abfrage, die uns am nächsten an der richtigen Ausgang gelangt ist (nicht alle Spalten hier aufgenommen wurden):
MySQL bei Tabellen mit doppelten Indexwerten beitreten
SELECT a.col_3 AS Data, SUM(a.col_4) AS `October 2016`, SUM(a.col_5) AS `November 2016`, SUM(b.col_4) AS `February 2017`, SUM(b.col_5) AS `March 2017` FROM ws_511_1 a LEFT JOIN (SELECT * FROM ws_583_1 b GROUP BY col_3) b ON b.col_3 = a.col_3 WHERE a.id!='1' GROUP BY a.col_3
Die Ausgabe dieser Abfrage ist:
Incorrect output
Sie feststellen, dass Oktober und November korrekt sind, aber die verbundenen Spalte Ergebnisse sind falsch.
Dank so viel. Funktioniert perfekt. Owe du ein Bier !! – claytont
@claytont danke .. das erste Mal, dass ich in Ihrer Gegend bin .. ich möchte – scaisEdge