我有一个表格:
+------+----------+----------+-------+
| id | location | variable | value |
+------+----------+----------+-------+
| 1 | loc1 | outside | 30.6 |
| 2 | loc1 | inside | 22.3 |
| 3 | loc2 | outside | 31.1 |
| 4 | loc2 | inside | 22.2 |
| 5 | loc3 | outside | 34.7 |
| 6 | loc3 | inside | 21.9 |
+------+----------+----------+-------+
是否可以创建以这种方式显示此内容的视图:
+----------+----------+-------+
| location | outside | inside|
+----------+----------+-------+
| loc1 | 30.6 | 22.3 |
| loc2 | 31.1 | 22.2 |
| loc3 | 34.7 | 21.9 |
+----------+----------+-------+
我试图为每列获取不同的值"location" and "location"
但不知道如何使用这些值创建列以正确填充它们。
您可以使用条件聚合(取决于当前模型表示整个数据集),例如
SELECT location,
MAX(CASE WHEN variable='outside' THEN value END) AS outside,
MAX(CASE WHEN variable='inside' THEN value END) AS inside
FROM [tab]
GROUP BY location
或者通过SUM
替换大概MAX
聚合,具体取决于每个location
和variable
组合是否存在多行。