私はSQLを学び、Oracle 11を使用しています。犯罪者データベースを使用して、未払いの料金を支払っている犯罪者を取得しようとしています。私の質問は次のとおりです
select first, last, charge_id, (fine_amount + court_fee) as "Total Amount Owed", NVL(amount_paid, null), (fine_amount + court_fee - amount_paid) as "Amount Owed", pay_due_date
from crime_charges cc, criminals c, crimes
where crimes.crime_id = cc.crime_id and c.criminal_id = crimes.criminal_id and (NVL(fine_amount, 0) + NVL(court_fee, 0)) – NVL(amount_paid, 0 ) > 0;
データベースには、amount_paid、fine_amount、court_feeのnull値があります。何も借りていない犯罪者を除外しようとしています。つまり、(fine_amount + court_fee)– amount_paid> 0
ORA-00920:無効な関係演算子00920というエラーが表示され続けます。00000-「無効な関係演算子」*原因:
*アクション:行:43列:122でエラーが発生しました
where句でNVLを動作させることができませんでした。NVLを使用したwhere句の例を見てきましたが、クエリとどのように異なるのかわかりません。
例:
SELECT fname, lname, manager_emp_id
FROM employee
WHERE NVL(manager_emp_id, -999) != 7698;