Liebe Sql Freunde,
ich stehe vor folgendem Problem bzgl. einer Abfrage aus meiner Datenbank. Hier mal ein kurzert Auszug.
Nun möchte ich es schaffen über eine SELECT DISTICT Abfrage die doppelten Werte im Feld ean zu entfernen, sprich das jede ean nur einmal auftauch zwischen den Zeilen in denen im Feld smr_bon der Wert bon steht. Die Zeilen mit Bon müssen hierbei auch mit ausgegeben werden.
mit diesem Ausschnitt will ich quasi also folgendes machen:
Bisher schaffe ich es nur für den Gesamten Datensatz mir die doppelten werte löschen zu lassen bzw. für einzelne Tage. Die klappt mit folgendem Code:
Ich dachte über die Lösung mit einer Schleife nach, welche SELECT DISTINCT so lange anwendet bis im 'bon' gefunden wird und dann von vorne anfängt, die zeile mit 'bon' dabei aber nicht entfernt.
Dachte da an einen Code der in etwa so aussieht, wobei ich in mysql noch nicht mir Schleifen gearbeitet habe ...
Als Ausgabe erhoffe ich mir eine Liste die lediglich aus der Spalte ean besteht, wobei auf die verschiedenen (gefilterten) ean's eine Leere zeile folgt....
Hoffe jemand kann mir helfen
lg
trbo
ich stehe vor folgendem Problem bzgl. einer Abfrage aus meiner Datenbank. Hier mal ein kurzert Auszug.
Nun möchte ich es schaffen über eine SELECT DISTICT Abfrage die doppelten Werte im Feld ean zu entfernen, sprich das jede ean nur einmal auftauch zwischen den Zeilen in denen im Feld smr_bon der Wert bon steht. Die Zeilen mit Bon müssen hierbei auch mit ausgegeben werden.
mit diesem Ausschnitt will ich quasi also folgendes machen:
Bisher schaffe ich es nur für den Gesamten Datensatz mir die doppelten werte löschen zu lassen bzw. für einzelne Tage. Die klappt mit folgendem Code:
PHP:
SELECT DISTINCT `ean` FROM `gebindedaten_april15` WHERE `ean` IS NOT NULL AND `datum` ='01.04.2015'
Ich dachte über die Lösung mit einer Schleife nach, welche SELECT DISTINCT so lange anwendet bis im 'bon' gefunden wird und dann von vorne anfängt, die zeile mit 'bon' dabei aber nicht entfernt.
Dachte da an einen Code der in etwa so aussieht, wobei ich in mysql noch nicht mir Schleifen gearbeitet habe ...
PHP:
WHILE `smr_bon` != 'bon'
SELECT DISTINCT `ean` FROM `gebindedaten_april15` WHERE `ean` IS NOT NULL
FOR `smr_bon` = 'bon'
SELECT `ean` FROM `gebindedaten_april15`
Als Ausgabe erhoffe ich mir eine Liste die lediglich aus der Spalte ean besteht, wobei auf die verschiedenen (gefilterten) ean's eine Leere zeile folgt....
Hoffe jemand kann mir helfen
lg
trbo