2

次のようなテーブルがあります。

Name    State       Amount
------------------------------
Pump 1  Present     339
Pump 1  Optimized   88

私はそれを次のようなものに置き換えたい:

Pump 1  Present     339 Optimized   88

MS SQL 2000 でこれを行うにはどうすればよいですか? 解決策を検索しようとしましたが、最も適切な解決策が見つかりませんでした。

4

1 に答える 1

1
declare @t table(Name    varchar(10), State       varchar(10), Amount int)
insert into @t
select 'Pump 1',  'Present',     339  union all
select 'Pump 1',  'Optimized',   88 

select name,
max(case when state='Present' then 'Present' end),
max(case when state='Present' then Amount end),
max(case when state='Optimized' then 'Optimized' end),
max(case when state='Optimized' then Amount end)
from @t
group by name
于 2010-06-07T09:38:58.737 に答える