我有一张如下表格,我想按日期获得美国和法国的销售。对于这种情况,内部联接不起作用。
我的问题是为什么inner join
在查询中不起作用outer join
查询是:
select * from
(select * from country_sales where country ='US') a
inner join
(select * from country_sales where country ='FR') f
on a.dateid = f.dateid
然而,在使用outer join
时,我得到了
Error Code: 1064. You have an error in your SQL syntax;
输出应如下所示:
答案 0 :(得分:1)
您可以GROUP BY
和CASE WHEN
SELECT
dateid,
MAX(CASE WHEN country = 'US' THEN amt ELSE 0 END) us_sales,
MAX(CASE WHEN country = 'FR' THEN amt ELSE 0 END) fr_sales
FROM country_sales
GROUP BY dateid;
int the_colors[];
请查看DEMO HERE