次のクエリは見事に機能します。今、エラーコードPRODUCT.*
につながるものを選択しようとしています
42Y36: (Column reference '<value>' is invalid. For a SELECT list with a GROUP BY, the list may only contain grouping columns and valid aggregate expressions.)
次に、エラーコードにつながる と の両方を設定しようとしましSELECT
たGROUP BY
PRODUCT.*
42X01: (Syntax error: <error>.)
単純な構文エラー。わかりました、 . でワイルドカードを使用することは許可されていないようGROUP BY
です。したがって、私の質問は (サブクエリを必要とせずに)、 「定義された-clauseを使用しているときにオブジェクト全体を選択するにはどうすればよいですか?」です。HAVING
SELECT PRODUCT.ID
FROM PRODUCT
LEFT JOIN DELIVERYROW ON DELIVERYROW.PRODUCT_ID = PRODUCT.ID
LEFT JOIN DISPATCHROW ON DISPATCHROW.PRODUCT_ID = PRODUCT.ID
WHERE PRODUCT.DTYPE = 'PRODUCT'
GROUP BY PRODUCT.ID
HAVING (
COALESCE(SUM(DELIVERYROW.AMOUNT),0)
-
COALESCE(SUM(DISPATCHROW.AMOUNT),0)
) > 0