ich in einer MySQL-Datenbank für jede Bestellung zwei Reihen haben, sie beide die alle die gleichen Informationen haben abgesehen von:verschmelzen zwei Reihen in einer und jede Menge Daten
Pickup-Standort-ID
ich fragen, ob es einen Weg gibt, um die Zeilen in einer fusionieren, während die Row1
pickup-location-id für EX Verketten
Pickup-Ort-id2 für EX row2
In ONE ROW mit der Auftragsnummer für beide verwendet.
Dies ist der nächstgelegene ich bekam ....
SELECT *
FROM `t_order-transportation`
INNER JOIN (SELECT `pickup-location` AS `pickup-location-2`,
`order-id`
FROM `t_order-transportation`
GROUP BY `pickup-location`
HAVING COUNT(id) > 1) dup
ON `t_order-transportation`.`order-id` = dup.`order-id`
dies fast tut, was ich will, aber es scheint, 4 Zeilen anzeigt werden, 2 für die Originale und 2 für die neuen Zeilen mit die Konkatation in beide Richtungen.
Sample of select return || RED IS ORIGINAL ROWS
MYSQL FIDDLE: http://sqlfiddle.com/#!9/4b441/1
bitte mehr erarbeiten und SQL-Geige bieten –
hinzugefügt fiddle althou gh Geige gibt 4 Zeilen nicht zurück, nur 2 zeigt auch versucht, besser zu erklären. – Rich
Benötigen Sie Abholorte in getrennten Feldern oder können Sie nur in einem Feld verketten? Wenn es Ihnen nichts ausmacht, können Sie GROUP_CONCAT verwenden http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html#function_group-concat – corretge