Hola UNDR4:
Vayamos por partes: es conveniente que en lugar de hacer las uniones de las tablas en el FROM-WHERE utilices JOIN's... si tienes dudas en cuanto a como funcionan, puedes preguntarle a SAN GOOGLE o a Santa WIKIPEDIA:
http://es.wikipedia.org/wiki/Join
Código:
En lugar de hacer esto
FROM tabla1, tabla2 WHERE tabla1.campo = tabla2.campo
Haz esto:
FROM tabla1 INNER JOIN tabla2 ON tabla1.campo = tabla2.campo
Segundo, en tu tabla tienes una doble referencia hacia el catálogo de años, por lo tanto es necesario que hagas un doble JOIN, utilizando un ALIAS:
Código MySQL:
Ver original+------+------+
| id | name |
+------+------+
| 1 | 2001 |
| 2 | 2002 |
| 3 | 2003 |
+------+------+
+------+----------+------------+------------+
| id | id_marca | anio_desde | anio_hasta |
+------+----------+------------+------------+
| 1 | 1 | 1 | 2 |
| 2 | 2 | 1 | 3 |
+------+----------+------------+------------+
mysql
> SELECT p.id
, a1.name anio_desde
, a2.name anio_hasta
+------+------------+------------+
| id | anio_desde | anio_hasta |
+------+------------+------------+
| 1 | 2001 | 2002 |
| 2 | 2001 | 2003 |
+------+------------+------------+
Tercero, la palabra reservada AS es completamente obsoleta y ya no forma parte del estandar de SQL.
Finalmente, es recomendable que trates de dar formato a tus post's, utiliza las etiquetas de code (#) o los highlight, de esta manera tu texto será más claro.
Haz la prueba y nos comentas
Saludos
Leo.