Order table 被编译器读取为 ORDER 命令
Order table being read as ORDER command by the compiler
我将这个 sql 语句存储在一个字符串变量中
SELECT
o.id_order,
o.registerdate,
i.latest_invoice,
d.latest_delivery
FROM
order o
JOIN
(
SELECT
id_address,
max(registerdate) as latest_invoice
FROM
invoice
GROUP BY
id_address
) i
ON o.id_address = i.id_address
JOIN
(
SELECT
id_address,
max(registerdate) as latest_delivery
FROM
delivery
GROUP BY
id_address
) d
ON o.id_address = d.id_address
WHERE
o.id_address = '189'
当我执行查询时,我在 order o
的位置得到一个错误,因为编译器认为它是 ORDER BY 命令。你知道我怎样才能避免这种情况吗?
您不应该使用保留关键字作为 table 名称,但如果您坚持要 have to use double quotes:
from "order" o
请注意,带双引号的名称区分大小写。根据您创建 table 的方式,您可能需要 "ORDER"
或 "Order"
。在 psql
中,您应该使用 \d
命令检查大小写是否正确。
我将这个 sql 语句存储在一个字符串变量中
SELECT
o.id_order,
o.registerdate,
i.latest_invoice,
d.latest_delivery
FROM
order o
JOIN
(
SELECT
id_address,
max(registerdate) as latest_invoice
FROM
invoice
GROUP BY
id_address
) i
ON o.id_address = i.id_address
JOIN
(
SELECT
id_address,
max(registerdate) as latest_delivery
FROM
delivery
GROUP BY
id_address
) d
ON o.id_address = d.id_address
WHERE
o.id_address = '189'
当我执行查询时,我在 order o
的位置得到一个错误,因为编译器认为它是 ORDER BY 命令。你知道我怎样才能避免这种情况吗?
您不应该使用保留关键字作为 table 名称,但如果您坚持要 have to use double quotes:
from "order" o
请注意,带双引号的名称区分大小写。根据您创建 table 的方式,您可能需要 "ORDER"
或 "Order"
。在 psql
中,您应该使用 \d
命令检查大小写是否正确。