MySQL:为什么内连接工作而不是外连接在同一语法中

时间:2016-04-05 04:59:59

标签: mysql sql-server join

我有一张如下表格,我想按日期获得美国和法国的销售。对于这种情况,内部联接不起作用。

我的问题是为什么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; 

输出应如下所示:

1 个答案:

答案 0 :(得分:1)

您可以GROUP BYCASE 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