sql语法错误计数

时间:2015-02-16 19:33:53

标签: mysql sql mysql-error-1064

我有这个查询来计算股票

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 

但我的代码中的错误是什么?

1 个答案:

答案 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`

可选地,您可以完全省略勾号并且根本不使用任何内容。