J'essaie de trouver un moyen de combiner des lignes dans une table en fonction de la plus longue chaîne de n'importe quelle ligne basée sur une clé de ligneT-SQL Grouper des lignes à partir des colonnes de longueur MAX dans différentes lignes (?)
exemple
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')
avec ces lignes je rechercherais le résultat de:
1 Winchester Road, crawley estate, P21869A
2 Smith Close, birmingham North East, P53342B
EDIT: les résultats ci-dessus doivent être dans une table Rathe r que juste une chaîne séparée par des virgules
comme vous pouvez le voir dans le résultat, la sortie doit être la colonne de texte la plus longue dans la plage du champ «akey».
J'essaie de trouver une solution qui n'implique pas beaucoup de sous-requêtes sur chaque colonne, la table réelle a 32 colonnes et plus de 13 millions de lignes.
la raison pour laquelle je fais est de créer une table assaini a les meilleurs résultats dans chaque colonne pour un seul ID par ligne
c'est mon premier post, alors laissez-moi savoir si vous avez besoin plus d'info, et je suis heureux d'entendre parler des meilleures pratiques sur la publication que j'ai cassé!
merci
Ben.
Merci pour les scripts de table! – Quassnoi
de rien! J'ai pensé que si je veux une réponse, je dois rendre la tâche facile pour les gens de faire leurs propres tests. –