2015-10-07 20 views
-1

我继续得到错误代码1248的MySQL
SELECT INV_NUM,AVG_INV,(INV_AMOUNT - AVG_INV),以获得一个错误代码1248 AS DIFF FROM CH08_INVOICE, (SELECT AVG(INV_AMOUNT )AS AVG_INV FROM CH08_INVOICE) GROUP BY INV_NUM,AVG_INV,INV_AMOUNT- AVG_INV;如何修复此查询?我继续在MySQL的

+1

我看到此查询可能存在多个问题,但我可以告诉您,错误代码1248意味着您在表格中缺少别名。这很可能来自内部的'SELECT',但是可能还有其他问题。 –

+0

确实。每个派生表(select中的选择)都必须有自己的别名。 – GolezTrol

+0

我在哪里添加内部SELECT的别名? –

回答

2
SELECT INV_NUM, AVG_INV, (INV_AMOUNT - AVG_INV) AS DIFF 
FROM CH08_INVOICE, 
(SELECT AVG(C2.INV_AMOUNT) AS AVG_INV FROM CH08_INVOICE C2) AS T 
GROUP BY INV_NUM, AVG_INV, INV_AMOUNT- AVG_INV; 

我不确定您是否需要该群组,因为您不会汇总发票金额。

1

您需要为您的类似内query.Something添加别名:

(SELECT AVG(c.INV_AMOUNT) AS AVG_INV FROM CH08_INVOICE c) 

由于两个内部查询和外部查询正在对同一个表