2017-06-11 9 views
1

私は方法LEFT OUTER JOINと私のデータベースからSELECTデータにしようとしていますが、私は私の構文を実行すると、結果は1行のみです。私は結果がより多くの行でなければならないと確信しています。LEFT OUTER 1行のみ選択を登録しよう

またLEFT OUTER JOINの代わりにFULL OUTER JOINメソッドを試しました。しかし、私がそれを行うと、私は構文エラーを取得します。

誰かが私がなぜただ1つの行を得ているのか知っていますか?ここで

は私のSQL構文です:

SELECT 
    cus.cus_id 
, cus.name_cus 
, cus.address, count(invoice.id) as id2 
, CONCAT('€ ', ROUND(SUM(invoice.total),2)) as total 
, cus.id 
FROM cus 
LEFT OUTER JOIN invoice 
ON cus.cus_id = invoice.cus_id 
+2

構文エラーもあります。唯一の違いは私が私のことを読むのに気をつけたことです。 – Strawberry

答えて

2

あなたはGROUP BY句を使用せずに、集計関数を使用している:

SELECT 
    cus.cus_id 
, cus.name_cus 
, cus.address 
, count(invoice.id) as id2 
, CONCAT('€ ', ROUND(SUM(invoice.total),2)) as total 
, cus.id 
FROM cus 
LEFT OUTER JOIN invoice ON cus.cus_id = invoice.cus_id 
GROUP BY cus.cus_id, cus.name_cus, cus.address, cus.id 

あなただけあなたが追加する必要があります固有のID(すなわちcus.id)によってグループに必要が追加のグループを作成しない場合でも、GROUP BY句に集約されない他のフィールド。

+0

それは働いた。ありがとう – John

関連する問題