2017-01-05 7 views
0

дать мне эту ошибку в PhpMyAdmin:MYSQL запрос дает мне синтаксическая ошибка

1064 - у Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом с «таблицы ON brand.seo_name = table.brandName ORDER BY Ъ» в строке 8

это запрос:

SELECT brand.name, brand.seo_name 
FROM brand 
JOIN (
    SELECT IFNULL(product.brand, standard_product.brand) AS brandName 
    FROM product 
    JOIN standard_product 
    ON product.standard_product_id = standard_product.id 
    WHERE product.store_id = 1) AS table 
ON brand.seo_name = table.brandName 

ORDER BY brand.seo_name ASC 
LIMIT 0,30 
+3

таблица зарезервированное имя, попробуйте использовать 'table1' в качестве псевдонима вместо – JohnHC

+0

он работает !!! : D спасибо –

+0

... или отметьте его '\' '; это действительно. –

ответ

1

table - зарезервированное слово. Вы должны выбрать другой псевдоним, например t:

SELECT brand.name, brand.seo_name 
FROM brand 
JOIN (
    SELECT IFNULL(product.brand, standard_product.brand) AS brandName 
    FROM product 
    JOIN standard_product 
    ON product.standard_product_id = standard_product.id 
    WHERE product.store_id = 1) t 
ON brand.seo_name = t.brandName 
ORDER BY brand.seo_name ASC 
LIMIT 0,30 
+1

Они могут использовать 'как таблицу', до тех пор, пока они помечают ее' \ ''; это действительно. –

0

Вы не можете использовать «» стол для AS. «Таблица» - это зарезервированное слово. Используйте что-то другое, как «соблазнительное».

+1

Это не совсем так. Они могут использовать 'как таблицу' столько, сколько они помечают ее' \ ''. –