2つのテーブルの値を比較するために、次のクエリを使用しています。 SUM(u.val)は総支払い額であり、その値を請求書(r.p_val)の値と比較し、SUM値が低いもののみを一覧に表示したいと考えています。テーブル内の値を比較する
「『where句』内の不明な列 『total_val』」私はエラーを取得このクエリでは
SELECT u.nmb, SUM(u.val) AS total_val,r.p_val
FROM inv u
INNER JOIN bills r ON r.nmb = u.nmb
WHERE total_val < r.p_val
GROUP BY u.nmb
は、私が唯一の個々の値ではなく、総支払を比較して、クエリで結果を得ることができました。クエリは次のようになります。
SELECT u.nmb, u.val, SUM(u.val) AS total_val,r.p_val
FROM inv u
INNER JOIN bills r ON r.nmb = u.nmb
WHERE u.val < r.p_val
GROUP BY u.nmb
類似のクエリを実行して必要な結果を得る手段はありますか?
ありがとうございます。
ありがとうございました。このクエリは、私が必要とするものを正確に行います。私がテーブル "inv"に何も支払い(記録)のないリストとその請求書を掲載したいのであれば、どうすればいいですか? – Sergio
INNER JOINをLEFT JOINに変更する – agsamek
これを試しましたが、LEFT JOINを使用したクエリは、請求書のテーブル "inv"にレコードがある場合にのみ機能します。その請求書の記録がなければ、請求書は記載されません。 – Sergio