Я пытаюсь найти способ объединения строк в таблице на основе самой длинной строки в любой из строк на основе ключа строки
пример
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')
с этими строками я бы искал результат:
1 Winchester Road, crawley estate, P21869A
2 Smith Close, birmingham North East, P53342B
РЕДАКТИРОВАТЬ : приведенные выше результаты должны быть в таблице, а не просто через запятую
Как видно из результата, вывод должен быть самым длинным текстовым столбцом в диапазоне поля 'akey'.
Я пытаюсь найти решение, которое не включает много подзапросов в каждом столбце, в реальной таблице 32 столбца и более 13 миллионов строк.
причина, по которой я это делаю, состоит в том, чтобы создать очищенную таблицу, которая имеет наилучшие результаты в каждом столбце только для одного идентификатора в строке
это мой первый пост, так что дайте мне знать, если вам нужна дополнительная информация, и я рад услышать о любых передовых практиках публикации, которые я нарушил!
спасибо
Бен.