这是SQL Server 2014平顶SQL查询
在不改变表的结构是什么,你可以建议修改此查询(如下图所示输出)最简单的方法
select
a.Id, a.Sku, a.lbl,
Desc,
(select b.Valu where b.Attribute = 'rel') as 'rel',
(select b.Valu where b.Attribute = 'uom') as 'uom',
(select b.Valu where b.Attribute = 'clas') as 'clas'
from
items a
join
itemattributes b on b.id = a.id
输出:
id sku lbl desc rel uom clas
2 X111 X111-456789 red NULL NULL C
2 X111 X111-456789 red NULL Cs NULL
2 X111 X111-456789 red 3 NULL NULL
3 X222 X222-567890 white NULL NULL B
3 X222 X222-567890 white NULL Cs NULL
3 X222 X222-567890 white 2 NULL NULL
4 X333 X333-678901 blue NULL NULL C
4 X333 X333-678901 blue NULL Ea NULL
4 X333 X333-678901 blue 9 NULL NULL
的输出:
id sku lbl desc rel uom clas
2 X111 X111-456789 red 3 Cs C
3 X222 X222-567890 white 2 Cs B
4 X333 X333-678901 blue 9 Ea C
根据表格和索引的大小,我会使用HLGEM的解决方案(下面)进行最佳优化。 –
谢谢你们。所有伟大的投入。我倾向于发现自己写这种方式约翰P.显示。但VKP让我想起我之前做过的事情。我有时会想,多个连接会在哪里开始对我产生影响。 – Steve