【发布时间】:2014-10-13 09:20:32
【问题描述】:
我正在使用查询
(select top (1) a.Description from ClientContactAttributes cca inner join Attributes a on a.AttributeId = cca.AttributeId where cca.ClientContactId = cc.ClientContactId order by cca.AttributeId desc) as Attribute1,
(select top (1) Description from (select top (2) a.Description, cca.AttributeId from ClientContactAttributes cca inner join Attributes a on a.AttributeId = cca.AttributeId where cca.ClientContactId = cc.ClientContactId order by cca.AttributeId desc) q order by q.AttributeId asc) as Attribute2,
(select top (1) Description from (select top (3) a.Description, cca.AttributeId from ClientContactAttributes cca inner join Attributes a on a.AttributeId = cca.AttributeId where cca.ClientContactId = cc.ClientContactId order by cca.AttributeId desc) q order by q.AttributeId asc) as Attribute3,
etc
获取针对记录添加的属性列表。目前,如果 any 属性已添加到该记录,它会多次返回最终结果,但理想情况下,如果该属性不存在,我希望返回 NULL。
例如,而不是返回
Attribute1 Attribute2 Attribute3 Attribute4
Bed Bath Beyond Beyond
Bed Bed Bed Bed
我宁愿它回来
Attribute1 Attribute2 Attribute3 Attribute4
Bed Bath Beyond NULL
Bed NULL NULL NULL
最好的方法是什么?
【问题讨论】:
标签: sql sql-server-2008