Ich arbeite an einem SSIS-Paket, wo ich Daten aus einer CSV-Datei in eine SQL-Tabelle importieren.SELECT DISTINCT
Das einzige Feld, das mich betrifft, ist der Benutzername. Dieser Benutzername muss einmalig sein. Es ist mir egal, ob Vor- oder Nachname gleich sind oder nicht.
Im Paket habe ich die Daten aus der Datei in eine temporäre SQL-Tabelle importiert. Und dann habe ich SELECT DISTINCT verwendet, um den eindeutigen Benutzernamen auszuwählen. Und dann in die Zieltabelle einfügen.
Das Problem ist: Wenn ich einen SELECT DISTINCT Benutzername, Vorname und Nachname FROM TempUsers.
Es gibt:
- JSmith, John, Smith
- JSmith, Joe, Smart-
- MBopp, Mary, Boppins
Aber ich will es zurück:
- Schmied, John, Smith
- MBopp, Mary, Boppins
ich mit MIN vorgeschlagen() zuerst, aber dann realisiert, dass am Ende würde den Vor- und Nachnamen kriecht. Ich bin nicht an FIRST() gewöhnt, aber ich vermute, es würde den Vor- und Nachnamen des gewählten Benutzers zusammenhalten. – yukondude
Danke euch. Ich habe nicht erwartet, dass ich innerhalb von 7 Minuten eine Antwort erhalten würde. Mein Geschmack von SQL unterstützt FIRST() leider nicht ... Aber MIN() funktioniert wie ein Charme :) – tnafoo
MIN() funktioniert für Ihre Teilmenge von Daten oben, weil "Joe" <"John" UND "Smart" <"Smith", aber Sie sind nicht garantiert, dass sie in allen Fällen aus der gleichen Zeile kommen. Es wird den minimalen Wert für jede Spalte * unabhängig * von innerhalb der Gruppe nehmen. –