0

store テーブルからstor_namepubsをクエリに追加したいのですが、うまくいきません。

クエリは次のとおりです。

SELECT 
    title, COALESCE(SUM(S.qty * T.price), 0) totalsale
FROM 
    titles T
LEFT JOIN
    sales S ON (S.title_id = T.title_id)
GROUP BY 
    title
ORDER BY 
    2 DESC

stor_nameテーブルからを追加する必要がありstoreます。このように追加しようとすると

SELECT 
    title, COALESCE(SUM(S.qty * T.price), 0) totalsale, stores.stor_name
FROM 
    titles T
LEFT JOIN
    sales S ON (S.title_id = T.title_id)
JOIN
    stores ON (S.stor_id = stores.stor_id)
GROUP BY 
    title
HAVING 
    stores.stor_name
ORDER BY 
    2 DESC

返された結果が間違っています。

ここにリンクの説明を入力

4

1 に答える 1

0

GROUP BYまたは に、集計関数の引数として名前を含める必要があります。何かのようなもの:

SELECT title, COALESCE(SUM(S.qty*T.price), 0) as totalsale, st.stor_name
FROM titles T LEFT JOIN
     sales S
     ON (S.title_id = T.title_id) JOIN
     stores st
     ON S.stor_id = st.stor_id)
GROUP BY title, st.stor_name
ORDER BY 2 desc;

または、多くの名前の 1 つだけが必要な場合は、次のようにします。

SELECT title, COALESCE(SUM(S.qty*T.price), 0) as totalsale,
       MAX(st.stor_name)
FROM titles T LEFT JOIN
     sales S
     ON (S.title_id = T.title_id) JOIN
     stores st
     ON S.stor_id = st.stor_id)
GROUP BY title
ORDER BY 2 desc;
于 2016-09-26T23:29:41.460 に答える