0
SELECT add.id_address, 
       add.alias, 
       add.firstname, 
       add.lastname, 
       add.postcode, 
       add.city, 
       add.address1, 
       add.address2, 
       cl.name as country
FROM address add, 
     country_lang cl
WHERE add.id_customer=2 AND cl.id_lang=3 
AND add.id_country=cl.id_country AND add.active=1 
ORDER BY add.id_address ASC
devrys
  • 1,571
  • 3
  • 27
  • 43

3 Answers3

5

Don't use add as the table alias. It is a reserved keyword.

Amal Murali
  • 75,622
  • 18
  • 128
  • 150
JHS
  • 7,761
  • 2
  • 29
  • 53
  • Thank you very much. I was already crazy. –  Oct 01 '12 at 11:44
  • 1
    No problem. StackOverflow is to solve problems and spread knowledge. I am glad I could do the same. Happy coding. :) – JHS Oct 01 '12 at 11:52
1

add is a reserved keyword you have to escape it or use other alias like FROM address a instead of FROM address addit like so:

SELECT a.id_address, a.alias, a.firstname,
  a.lastname, a.postcode, a.city, 
  a.address1, a.address2, cl.name as country
FROM address a, country_lang cl
WHERE a.id_customer = 2 AND cl.id_lang=3 
  AND a.id_country = cl.id_country 
  AND a.active=1 
ORDER BY a.id_address ASC
Mahmoud Gamal
  • 78,257
  • 17
  • 139
  • 164
1

You have to use backtick if you want to use reserved keyword in following way:

  SELECT `add`.id_address, `add`.alias, `add`.firstname,
      `add`.lastname, `add`.postcode, `add`.city, 
      `add`.address1, `add`.address2, cl.name as country
    FROM address `add`, country_lang cl
    WHERE `add`.id_customer = 2 AND cl.id_lang=3 
      AND `add`.id_country = cl.id_country 
      AND `add`.active=1 
    ORDER BY `add`.id_address ASC

Beside exception, I would recommend you to use JOIN in following way:

SELECT a.id_address, 
       a.alias, 
       a.firstname, 
       a.lastname, 
       a.postcode, 
       a.city, 
       a.address1, 
       a.address2, 
       cl.name as country
FROM address a JOIN country_lang cl ON a.id_country=cl.id_country
WHERE a.id_customer=2 AND cl.id_lang=3 AND a.active=1 
ORDER BY a.id_address ASC
Akash KC
  • 16,057
  • 6
  • 39
  • 59