2011-06-29 14 views
0

次のクエリが正しくありませんが、私は私が欲しいもの異なるレコード列の合計値を選択するにはどうすればよいですか?

SELECT sum(price) AS price, sum(paid) AS paid 
FROM finance 
WHERE sum(price) != sum(paid) 
GROUP BY item_id 

ような何かをしたい、総価格を取得することで、が販売されている項目のを支払ったが、完全に支払われていませんまだ。

編集1

は、これは私のテーブル構造である(支払った合計金額との合計を意味異なる)

// table schedule_member 
schedule_member_id (PK) 
schedule_id (FK: schedule.schedule_id) 
student_id (FK: student.student_id) 
fee 
paid 
added (Current timestamp) 

SQLクエリた

SELECT sum(fee) AS total_fee, sum(paid) AS total_paid 
FROM schedule_member 
WHERE total_fee != total_paid 
GROUP BY student_id 

その後エラーが発生した、#1054 - 不明な列 'abcの' '句'

+0

のようなあなたは、 'finance'テーブルをしてください説明してもらえますか? –

+1

'price'という名前の列がないので、エラーが発生します。 – Rahul

+0

私の編集を参照してください。あなたのテーブル構造によると – Rahul

答えて

3

WHERE

SELECT sum(price) AS pricesum, sum(paid) AS paidsum 
FROM finance 
GROUP BY item_id 
HAVING pricesum <> paidsum 
0

の代わりにHAVINGを使用してみてくださいでは、あなただけの次を探していませんか?

SELECT sum(price) AS total_price, sum(paid) AS total_paid 
FROM finance 
WHERE price <> paid 
GROUP BY item_id 
+0

@Martijn、私はあなたが 'どこtotal_price <> total_paid'を意味すると思います – Rahul

+0

それを修正していただきありがとうございます! – Martijn

+0

いいえ、動作しません。それは "未知の列total_price" –

2

方法については、この

SELECT sum(fee) AS totalfee, 
sum(paid) AS totalpaid 
FROM finance 
WHERE totalfee < totalpaid 
GROUP BY item_id 
+0

いいえ、あまりにも働いていません。それは "未知の列価格" –

1
SELECT sum(price) AS price, sum(paid) AS paid 
FROM finance 
GROUP BY item_id 
HAVING sum(price) != sum(paid) 
関連する問題