我正在使用以下查詢來比較兩個表中的值。 SUM(u.val)是付款總額,我想將該值與發票金額(r.p_val)進行比較,並僅列出具有較低值od SUM的值。Mysql比較表中的值
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
與此查詢我遇到錯誤「未知列‘total_val’在‘where子句’」
我只得到了一個結果與個人價值,而不是支付總額進行比較的查詢。該查詢看起來像這樣:
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 2011-02-26 13:02:23
將INNER JOIN更改爲LEFT JOIN – agsamek 2011-02-26 13:04:56
我試過這個,但只有在表「inv」的記錄中有發票的記錄時,帶有LEFT JOIN的查詢纔有效。沒有該發票的記錄,它不會列出發票。 – Sergio 2011-02-26 13:11:02