Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - DISTINCT Anweisung in einem SQL Befehl
DennisXX - Mi 08.02.12 14:31
Titel: DISTINCT Anweisung in einem SQL Befehl
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.:
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
Th69: SQL-Tags hinzugefügt
Ralf Jansen - 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.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!