dedlfix: Select Distinct?

Beitrag lesen

Tach!

Mal angenommen es geht rein um den Select der Einträge und das nachträgliche Anzeigen OHNE doppelte Kundennamen- Kundennummer Kombination.
Ein einfacher:
SELECT DISTINCT kundename, kundenummer  FROM kunde;
würde ja das ja auch schon ausfiltern. Aber auch hier habe ich wieder das Problem das ich die Spalte "kundenid" nicht im Select habe.

Ja, das ist das generelle Problem bei Gruppierungen, unter die auch das DISTINCT gewissermaßen fällt. Da werden mehrere Datensätze zu einem zusammengefasst. In deinem Fall hast du nun zwei oder mehr kundenid, die nicht in eine Ergebniszeile gepresst werden können. Du kannst da nur Aggregatfunktionen wie MIN(), MAX(), SUM(), AVG(), etc. darauf anwenden. Aber das ist im Falle der kundenid ja sinnlos. GROUP_CONCAT() ist da erstmal die einzige sinnvolle Möglichkeit.

ich habe das mit den Subsulect noch nicht hinbekommen.

Ich habs jetzt nicht probiert, aber sollte nicht sowas zum Erfolg führen?

SELECT *  
FROM kunden,  
(SELECT kundenname, kundennummer  
FROM kunden  
GROUP BY kundenname, kundennummer  
HAVING COUNT(*) > 1) kunden2  
WHERE kunden.kundenname = kunden2.kundenname AND kunden.kundennummer = kunden2.kundennummer

dedlfix.