私はHRベースで作業しています。このような文を入力できないのはなぜですか?WHERE句で "%s:invalid identifier"というエラーが発生しました
SELECT id_dzialu, sum(placa) as suma
FROM pracownicy
WHERE suma = 8000
GROUP BY id_dzialu
私はそれをしようとすると、それはエラーを返します: "%s: invalid identifier"
私はHRベースで作業しています。このような文を入力できないのはなぜですか?WHERE句で "%s:invalid identifier"というエラーが発生しました
SELECT id_dzialu, sum(placa) as suma
FROM pracownicy
WHERE suma = 8000
GROUP BY id_dzialu
私はそれをしようとすると、それはエラーを返します: "%s: invalid identifier"
あなたは、HAVING句を使用する必要があります。 Oracleの場合
、クエリは要するに
select id_dzialu, sum(placa) as suma from pracownicy group by id_dzialu having sum(placa) = 8000
あるべき時にwhere
句が集約はまだ行われていない処理されるため、あなたはwhere
句で集計関数を参照することはできません。代わりにhaving
句を使用してください。
ありがとうございました。なぜ入力すればいいですか select id_dzialu, sum(placa) as suma from pracownicy group by id_dzialu having suma = 80000
私は変っていますまだエラーがありますか? –
user1306431
これは、使用するDBMSによって異なります。 OracleではMySQLでエラーが発生しますが、エラーは発生しません。必要な解決策は 'sum(placa)= 80000'です。それをチェックしてください。 –
where節を削除する必要があります。それは80000ではなく8000です。 –
@AmritpalSinghありがとう –