我有一张包含飞机和客户选项的桌子。
例如
Cust | opt1 | opt2
------------------------
A | abc | def
B | | mno
F | | pqr
A | | ghi
我用
SELECT
Cust,
opt1 + opt2 as options
FROM myDB where Len(opt1) >1 or Len(opt2) >1
当然,我在结果列表中得到两次白话
Cust | options |
------------------------
A | abcdef |
A | ghi |
B | mno |
F | pqr |
如何进一步压缩此查询,以便结果变为:
Cust | options |
------------------------
A | abcdefghi |
B | mno |
F | pqr |
谢谢! (在SQL Server Express上工作)
答案 0 :(得分:2)
SELECT DISTINCT c.Cust, options = ((SELECT c2.opt1 + c2.opt2
FROM dbo.myDB AS c2 WHERE c2.Cust = c.Cust
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'))
FROM dbo.myDB AS c;