2016-04-05 12 views
-1

私は以下のテーブルを持っています。私は米国とフランスの売上を日付別に取得したいと思います。このシナリオでは、内部結合は機能しません。しかしMySQL:同じ構文で外部結合ではなく内部結合が機能する理由

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; 

出力は次のようになります取得:ありませんouter join

クエリは、クエリでinner join作品を、なぜ

私の質問は

+0

を確認してください? – ehh

+0

また、「LEFT OUTER JOIN = LEFT JOIN」と「RIGHT OUTER JOIN = RIGHT JOIN」 – 1000111

+0

「フル参加」とは何ですか? – user4943236

答えて

1

You cあなたは内部または外部に全く参加する必要があるのはなぜ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; 

と一緒に使用GROUP BYDEMO HERE