我很难删除NULLS。 ISNULL语句似乎适用于动态结果,但不适用于第二个。
我的最终提取查询是:
select itemid,title,description,cat,fibre,washing,colours,promo,
max(case when seqnum = 1 then isnull(chm_sizegrouping,'') end) as sizes_1,
max(case when seqnum = 2 then isnull(chm_sizegrouping,'') end) as sizes_2,
max(case when seqnum = 3 then chm_sizegrouping end) as sizes_3,
max(case when seqnum = 4 then chm_sizegrouping end) as sizes_4)
显示的结果是:
itemid sizes_1 sizes_2
LM008 one NULL
LM009 NULL
LM010 NULL
lm011 NULL
非常感谢任何帮助,
感谢。
答案 0 :(得分:1)
试试这个:
select itemid,title,description,cat,fibre,washing,colours,promo,
isnull(max(case when seqnum = 1 then chm_sizegrouping end),'') as sizes_1,
isnull(max(case when seqnum = 2 then chm_sizegrouping end),'') as sizes_2,
........
答案 1 :(得分:0)
不幸的是,您必须对可以检索ISNULL
值的每个字段使用NULL
函数。
答案 2 :(得分:0)
只需将ISNULL
项检查放在MAX()
函数的外部,如下所示:
select itemid,title,description,cat,fibre,washing,colours,promo,
isnull(max(case when seqnum = 1 then chm_sizegrouping end), '') as sizes_1,
isnull(max(case when seqnum = 2 then chm_sizegrouping end),'') as sizes_2,
max(case when seqnum = 3 then chm_sizegrouping end) as sizes_3,
max(case when seqnum = 4 then chm_sizegrouping end) as sizes_4)