2017-01-05 10 views
0

geben Sie mir diesen Fehler in phpMyAdmin:mySql Abfrage geben Sie mir Syntaxfehler

1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; das Handbuch überprüfen, die für die richtige Syntax zu Ihrer MySQL-Server-Version entspricht in der Nähe von 'Tabelle ON brand.seo_name = table.brandName ORDER BY b' zu verwenden, in Zeile 8

dies ist die Abfrage:

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

Tabelle ist ein reservierter Name, versuchen Sie stattdessen mit 'table1' als Alias ​​ – JohnHC

+0

es funktioniert !!! : D danke –

+0

... oder kreuzen Sie es '\' '; es ist gültig. –

Antwort

1

table ist ein reserviertes Wort. Sie sollten einen anderen Alias, wie t wählen:

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

Sie können 'as table' verwenden, solange sie es ankreuzen' \ ''; es ist gültig. –

0

Sie nicht 'Tisch' für den AS verwenden können. 'Tabelle' ist ein reserviertes Wort. Verwenden Sie etwas anderes wie "Versuchbar".

+1

Das stimmt nicht ganz. Sie können 'as table' verwenden, solange sie es' _ '' ankreuzen. –