次のsqlfiddleの例では、売り手に売り上げがない場合でも、特定の国のすべての売り手の売り上げリストを取得したいと考えています。LEFT JOINとGROUP BYのSUM - すべての行で同じ結果
http://www.sqlfiddle.com/#!9/b60247/10/0
SELECT ts.name AS seller_name,
COALESCE(SUM(tsa.sales), 0) AS sales_total
FROM tseller ts
LEFT JOIN tseller_country tsc ON ts.id = tsc.name
LEFT JOIN tsales tsa ON tsc.country = tsa.country
WHERE tsa.country = '1'
GROUP BY ts.name
ORDER BY ts.id
しかし代わりに、以下の結果を
Marie 370
Peter 0
Marge 0
私は
を取得しますMarie 370
Peter 370
Marge 370
私はあなたの列の名前を変更することから始めます:例えば 'ts.id = tsc.name'が混乱してON
正しいバージョンは次のようなものである可能性があります。 –
*誰が* * *何*を売ったのを知っていますか?そしてFWIW、私はテーブルの前に本当に面倒な 't'を貼り付ける練習を見つける。 – Strawberry
私はそれを得ることはできません、 'tcountry'にはidだけがあります:1,2,3,4。 'tseller_country.country'カラムには値' 6'があります。 –