我有一张桌子,需要更改
Key Value
CapacityColdBTU 2000
PowerLevelCold B
Inverter/Standard Standard
CapacityColdBTU 1500
PowerLevelCold B
Inverter/Standard Inverter
在我使用它之前,该表应如下所示。我不能使用该表搜索超过1个标准。我该如何改变它?
CapacityColdBTU PowerLevelCold Inverter/Standard
2000 B Inverter
谢谢
答案 0 :(得分:3)
您可以使用PIVOT
:
select *
from
(
select [key], value
from yourtable
) x
pivot
(
max(value)
for [key] in ([CapacityColdBTU], [PowerLevelCold], [Inverter/Standard])
) p
或者您可以将CASE
语句与聚合一起使用,请注意,此版本会在Inverter
字段中生成您使用[Inverter/Standard]
值列出的结果:
select
max(case when [key] = 'CapacityColdBTU'
then value end) as CapacityColdBTU,
max(case when [key] = 'PowerLevelCold'
then value end) as PowerLevelCold,
min(case when [key] = 'Inverter/Standard'
then value end) as [Inverter/Standard]
from yourtable
如果您有一个id
或某个字段用主记录标识每个字段,那么您可以显示每个ID的值。