【发布时间】:2017-08-20 06:20:34
【问题描述】:
我正在尝试将一个查询用作另一个查询的数据源,但我不断收到来自 SELECT 的解析错误。我对 SQL 和 phpmyadmin 还很陌生,不知道为什么会发生这个错误。这是我正在尝试执行的查询:
SELECT CUS_CODE,
COUNT(LINE.INV_NUMBER) AS "Number of Invoices",
AVG("Invoice Total") AS "Average Invoice Amount",
MAX("Invoice Total") AS "Max Invoice Amount",
MIN("Invoice Total") AS "Min Invoice Amount",
Sum("Invoice Total") AS "Total Customer Purchases"
FROM (SELECT CUS_CODE, LINE.INV_NUMBER AS INV_NUMBER,
Sum(LINE.LINE_UNITS*LINE.LINE_PRICE) AS "Invoice Total"
FROM INVOICE, LINE
WHERE INVOICE.INV_NUMBER = LINE.INV_NUMBER
GROUP BY CUS_CODE, LINE.INV_NUMBER)
GROUP BY CUS_CODE;
对不起,如果我的问题不清楚,但我可以回答任何问题以帮助解决问题。
【问题讨论】:
-
外部查询只能访问由子查询创建的派生表公开的字段。它无权访问数据库的实际表,例如
LINE。 -
除此之外,您必须为派生表提供别名。
-
@GiorgosBetsos 我如何为之前的表格提供别名?我试图找到它,但我找不到如何给它起别名。
-
... GROUP BY CUS_CODE, LINE.INV_NUMBER) AS t ... -
@GiorgosBetsos 所以我必须使用 AS 进行内部查询?
标签: mysql phpmyadmin