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
Asked
Active
Viewed 179 times
0

devrys
- 1,571
- 3
- 27
- 43
3 Answers
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
-
1No 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 add
it 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