我有这个查询来计算股票
SELECT (receipt_count - COALESCE(sales_count, 0)) AS 'stock'
FROM (
SELECT SUM(spares_receipt.aantal_ontvangen) AS 'receipt_count'
FROM spares_receipt WHERE Number = 1001000
) AS 'Receipt'
LEFT JOIN
(
SELECT SUM(spares_sales.aantal_verkocht) AS 'sales_count'
FROM spares_sales WHERE onderdeel_nummer = 1001000
) AS 'Sales'
但是我收到了这个错误:
SELECT (receipt_count - COALESCE(sales_count, 0)) AS 'stock'
FROM (
SELECT SUM(spares_receipt.aantal_ontvangen) AS 'receipt_count'
FROM spares_receipt WHERE Number = 1001000
) AS 'Receipt'
LEFT JOIN
(
SELECT SUM(spares_sales.aantal_verkocht) AS 'sales_count'
FROM spares_sales WHERE onderdeel_nummer = 1001000
) AS 'Sales'
LIMIT 0, 25
MySQL meldt: Documentatie
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Receipt'
LEFT JOIN
(
SELECT SUM(spares_sales.aantal_verkocht) AS 'sales_co' at line 5
但我的代码中的错误是什么?
答案 0 :(得分:2)
别名必须是刻度,而不是单引号:
SELECT (receipt_count - COALESCE(sales_count, 0)) AS `stock`
FROM (
SELECT SUM(spares_receipt.aantal_ontvangen) AS `receipt_count`
FROM spares_receipt WHERE Number = 1001000
) AS `Receipt`
LEFT JOIN
(
SELECT SUM(spares_sales.aantal_verkocht) AS `sales_count`
FROM spares_sales WHERE onderdeel_nummer = 1001000
) AS `Sales`
可选地,您可以完全省略勾号并且根本不使用任何内容。