Ich versuche, Zeilen in einer Tabelle basierend auf der längsten Zeichenfolge in einer beliebigen Zeile basierend auf einem Zeilenschlüssel zu kombinierenT-SQL Gruppierung von Zeilen aus den MAX-Längenspalten in verschiedenen Zeilen (?)
Beispiel
CREATE TABLE test1
(akey int not null ,
text1 varchar(50) NULL,
text2 varchar(50) NULL,
text3 varchar(50) NULL )
INSERT INTO test1 VALUES (1,'Winchester Road','crawley',NULL)
INSERT INTO test1 VALUES (1,'Winchester Rd','crawley','P21869')
INSERT INTO test1 VALUES (1,'Winchester Road','crawley estate','P21869')
INSERT INTO test1 VALUES (1,'Winchester Rd','crawley','P21869A')
INSERT INTO test1 VALUES (2,'','birmingham','P53342B')
INSERT INTO test1 VALUES (2,'Smith Close','birmingham North East','P53342')
INSERT INTO test1 VALUES (2,'Smith Cl.',NULL,'P53342B')
INSERT INTO test1 VALUES (2,'Smith Close','birmingham North','P53342')
mit diesen Zeilen i für das Ergebnis der Suche wäre:
1 Winchester Road, crawley estate, P21869A
2 Smith Close, birmingham North East, P53342B
EDIT: die Ergebnisse müssen für in einer Tabelle Rathe sein r als nur eine durch Komma getrennte Zeichenkette
Wie Sie im Ergebnis sehen können, sollte die Ausgabe die längste Textspalte im Bereich des Felds 'akey' sein.
ich versuche, eine Lösung zu finden, die nicht viele Unterabfragen für jede Spalte enthält, die tatsächliche Tabelle hat 32 Spalten und über 13 Millionen Zeilen.
der Grund, warum ich das tue ist eine aufgeräumte Tabelle zu erstellen, die die besten Ergebnisse in jeder Spalte pro Zeile für nur eine ID
dies ist mein erster Beitrag, so lassen Sie mich, wenn Sie wissen, hat müssen keine weiteren Informationen, und ich freue mich über alle Best Practices über das Posting, dass ich gebrochen habe!
danke
Ben.
Danke für die Tabelle Skripte! – Quassnoi
Gern geschehen! Ich dachte, wenn ich eine Antwort will, muss ich es einfach machen, dass Leute ihre eigenen Tests durchführen. –