Doppelte Datensätze in einer Spalte mit unterschiedlichen Lieferanten

arazmeh

Neuer Benutzer
Beiträge
3
Guten Tag,

mit der folgenden Abfrage steh ich auf dem Schlauch. Ich möchte die gleichen Datensätze der Spalte grp_id mit den unterschiedlichen Datensätze der Spalte Supplier auswerten. Ich weiß nicht was ich falsch mache. Ich hätte hier erwartet, dass ich beispielsweise nur die Supplier "Adress R2.50", "Adress R2.50 ver.1" und "Adress R.2.50 ver1" als Output ausgewertet kriege.

Weiß jemand was der Fehler ist?

Gruß
aaz
1699534969542.png
 
Werbung:
Also erstmal ist deine WHERE Bedingung immer Wahr sofern mehr als ein Datensatz in t_sup_supplier existiert. Ich denke, das ist nicht so gewollt. Du wolltest bestimmt B.grp_id = sup.grp_id in der WHERE-Bedingung vom Select abfragen. Eigentlich wäre das aber doppelt gemoppelt mit HAVING.

Was du suchst ist mir nicht ganz klar. Eventuell sowas wie
Code:
HAVING count(sup.sup_name_!$) <> count(DISTINCT sup.sup_name_!$)
Wenn du mehrere unterschiedliche Schreibweisen von sup.sup_name_!$ finden willst darfst du den eigentlichen Wert nicht mit ausgeben im Select-Teil. Dann gruppierst du am besten nur z.B. so
Code:
SELECT id,left(spalte,10) AS spalte FROM tabelle GROUP BY id,left(spalte,10) HAVING count(*) > 1
- kann das Bild nicht kopieren -

und joinst dann auf diese Tabelle alle in Frage kommenden Werte. Also
Code:
SELECT * FROM (
SELECT id,left(spalte,10) AS spalte FROM tabelle GROUP BY id,left(spalte,10) HAVING count(*) > 1
) t
LEFT JOIN tabelle
ON t.id = tabelle.id
 
Werbung:
Hallo
Für mich schaut es so aus als würde t_sub_suplier Tabelle noch ein Kennzeichen für den aktiven Datensatz stehen damit auch noch alte geänderte Informationen aufbehalten werden können.
Schau mal ob es ein Feld wie aktiv, gelöscht, aktuell oder dergleichen gibt. Ich vermute es gibt da noch etwas was du ins Filterkriterium aufnehmen muss.

Der Supplier Adress R2.50 hat immer die selbe ID aber unterschiedlichen Inhalt.
 
Zurück
Oben