0

テーブルがあり、それを変更する必要があります

Key                  Value
CapacityColdBTU      2000
PowerLevelCold       B
Inverter/Standard    Standard
CapacityColdBTU      1500
PowerLevelCold       B
Inverter/Standard    Inverter

使用する前に、テーブルは次のようになります。複数の条件で検索する際にテーブルを使用できません。どうすれば変更できますか?

CapacityColdBTU   PowerLevelCold    Inverter/Standard
2000              B                 Inverter

ありがとうございました

4

1 に答える 1

3

あなたが使用することができますPIVOT

select *
from
(
  select [key], value
  from yourtable
) x
pivot
(
  max(value)
  for [key] in ([CapacityColdBTU], [PowerLevelCold], [Inverter/Standard])
) p

SQL FiddlewithDemoを参照してください

または、aggregateでステートメントを使用できます。このバージョンでは、フィールドの値を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

SQL FiddlewithDemoを参照してください

idこれらの各フィールドをメインレコードで識別するまたはいくつかのフィールドがある場合は、各IDの値を表示できます。

于 2012-10-24T18:49:19.000 に答える