Autor Beitrag
DennisXX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 133



BeitragVerfasst: Mi 08.02.12 14:31 
Macht es eigentlich einen semantischen Sinn, die DISTINCT Anweisung für zwei Spalten in einem SQL Befehl auszuführen? Gibt es Fälle, wo das wirklich sinnig erscheint? Also zu meine ich bspw.:
ausblenden SQL-Anweisung
1:
2:
3:
SELECT DISTINCT tabl1.FeldA, DISTINCT tab1.FeldA, tab2.FeldB
FROM tab1 INNER JOIN tab2
ON tab1.FeldX = tab2.FeldX

Gruß
Dennis

Moderiert von user profile iconTh69: SQL-Tags hinzugefügt
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 08.02.12 14:45 
Distinct bezieht sich immer auf die ganze Zeile also alle in der Select Klausel benannten Felder und nicht auf ein einzelnes Feld. Dein Statement wird also nicht funktionieren.

Ein Distinct ähnliche Funktion die das könnte was du andeutest kann ich mir nicht vorstellen. Welcher Distinct Wert einer Spalte gehört denn dann zu welchem Satz der anderen Spalten?
In deinem Beispeil wenn es mehrere Werte in FeldB gibt die zu einem FeldA passen, welcher dieser Werte in FeldB willst du dann anzeigen wenn du durch den ~Distinct~ schon gesagt ich will den Wert in FeldA nur einmal sehen und hast damit ja auch nur eigentlich ein Wert für FeldB den du anzeigen kannst? Das kann nicht funktionieren. In sofern ist die Frage nach der Semantik auch für eine theoretische Distinct Funktion mit dem von dir gedachten Verhalten zu verneinen.