0

私はこのようにテーブルを持っています:

CityID     ParamName      ParamValue
------    -----------     ----------
  1       Temperature        23    
  1       Humidity           56
  2       Temperature        27
  2       Humidity           49

次のようなビューを作成したいと思います。

CityID    Temperature     Humidity
------    -----------     --------
  1          23              56
  2          27              49

私のデータベース エンジンは MySQL です。

誰かがそのようなビューを定義するのを手伝ってくれませんか? どんな助けでも大歓迎です。

4

2 に答える 2

1

MySQL には関数がないため、ステートメントPIVOTが必要になります。CASE

SELECT CityId,
    SUM(CASE WHEN ParamName = 'Temperature' THEN ParamValue END) Temperature,
    SUM(CASE WHEN ParamName = 'Humidity' THEN ParamValue END) Humidity
FROM yourTable
GROUP BY CityId

デモで SQL Fiddle を参照してください

于 2012-08-03T17:26:26.903 に答える
0

何かのようなもの

select someTable.CityID,temps.ParamValue as Temperature,Hums.ParamValue as Humidity
From SomeTable
inner join someTable temps 
On someTable.CityID = temps.CityID and temps.ParamName = 'Temperature'
inner join SomeTable hums  
On someTable.CityID = hums.CityID and hums.ParamName = 'Humidity'
于 2012-08-03T17:30:29.127 に答える