【发布时间】:2011-08-01 20:41:28
【问题描述】:
SELECT i.id AS id, i.modify_date as modify_date, s.subscription as subscriptionid, p.paid/i.total AS paidratio
FROM invoices i,
(SELECT p.invoice, sum(amount) AS paid FROM payments p GROUP BY p.invoice) p
LEFT JOIN sub_to_inv s
ON i.id=s.invoice
WHERE p.invoice=i.id
AND i.corporation='3'
AND i.payer=1
我得到的错误是“i.id 上的未知列”,这完全是伪造的 - 发票 (i) 肯定有一个 id 行。他们都这样做。
sub=query 的目的是查明已支付的发票金额。例如,对于“总计”列为 1000.00 的发票,可能有 2 或 3 次拆分付款。我最终要做的是首先列出所有未付发票或部分发票。但在我进入 ORDER BY 阶段之前,我需要弄清楚这个错误。
【问题讨论】:
-
它在抱怨哪个 i.id?会不会对“i.id AS id”感到困惑?也许尝试将该别名更改为其他名称,看看是否可行。