)我試圖想出一種方法來組合基於行鍵的任何行中最長的字符串T-SQL從不同行中的最大長度列(?)對行分組(
例如
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
EDIT:上述需要的結果是在一個表拉澤而不僅僅是逗號分隔的字符串
正如您在結果中看到的,輸出應該是'akey'字段範圍中最長的文本列。
我試圖想出一個解決方案,不涉及每列上的大量子查詢,實際的表有32列和超過1300萬行。
我這樣做的原因是爲了創建一個在每一列,每列
這是我的第一篇文章只是一個ID最好的結果清潔的表,所以讓我知道如果你需要任何更多的信息,我很高興聽到關於張貼我已經破碎的任何最佳做法!
謝謝
本。
感謝表格腳本! – Quassnoi 2009-06-26 10:35:32
不客氣!我想,如果我想要一個答案,我需要讓人們輕鬆運行自己的測試。 – 2009-06-26 10:59:03