因此,我有一张桌子:
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。
有人可以帮我定义这样的观点吗?任何帮助将不胜感激。
最佳答案
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 with Demo
关于mysql - 表中的列值作为 View 中的列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11800405/