2016-04-05 22 views
-1

Aşağıdaki gibi bir tablom var ve tarihe kadar ABD ve Fransa satışlarını almak istiyorum. Bu senaryo için iç birleşim çalışmıyor. AncakMySQL: neden iç birleştirme çalışıyor ve aynı dışsal birleştirme içinde değil

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 kullanımı hakkında, ben

Error Code: 1064. You have an error in your SQL syntax; 

çıktı aşağıdaki gibi görünmelidir olsun: değil outer join

sorgu sorguda inner join eser neden

Benim sorum

+0

kontrol edin? – ehh

+0

Ve ayrıca "SOL DIŞI JOIN = SOL JOIN" ve "DOĞRU OUTER JOIN = DOĞRU JOIN" – 1000111

+0

"Tam Katılma" nedir? – user4943236

cevap

1

Siz c Eğer bir iç veya dış hiç katılmak gerekiyor Neden 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; 

ile birlikte bir KULLANIM GROUP BYDEMO HERE

İlgili konular