您可以只为每个MetricName创建一个CASE语句,但是还必须使用聚合来使GROUP BY工作。
SELECt dimension_a ,dimension_b ,MAX(CASE WHEN metric_name = 'm1' THEN metric_value ELSE NULL END) m1 ,MAX(CASE WHEN metric_name = 'm2' THEN metric_value ELSE NULL END) m2 FROM my_table GROUP BY dimension_a ,dimension_b;
值得注意的是,Redshift对象名称从不区分大小写,但列内容始终是区分大小写的,这与SQL Server默认设置相反。



