Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/10/2013, 09:21
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Esportar categorias/subcategorias en Prestashop

@Monxu: Tal parece que estás haciendo sólo Copy+Paste, y esperando haber recibido de regalo el código completo, funcional y sin errores. Creo que deberías al menos hacer un esfuerzo por buscar tu mismo el error, de ese modo se logra dominar las cosas.
Por lo pronto, te sugiero que descargues e instales el MySQL Workbench, que es gratuito, y el cual tiene un corrector sintáctico que te permitirá encontrar ese tipo de defectos sin problemas. Al menos eso es lo que solemos hacer nosotros.

Te dejo el link: http://dev.mysql.com/downloads/tools/

Hay un error, pero es tan nimio que con sólo revisar el código lo hubieras encontrado, porque no está en las clausulas, ni las tablas, ni las columnas. Está en los paréntesis y el orden.
Código MySQL:
Ver original
  1. SELECT c.id_category,
  2.        c.active,
  3.        cl.name,
  4.        c.id_parent idpadre,
  5.        clp.name padre,
  6.        c.description,
  7.        c.link_rewrite
  8. FROM ps_category c
  9.     LEFT JOIN ps_category_lang cl ON c.id_category = cl.id_category
  10.     LEFT JOIN ps_category cp ON c.id_parent=cp.id_category
  11.     LEFT JOIN ps_category_lang clp ON cp.id_category = clp.id_category
  12. WHERE c.id_category > 2 AND cl.id_lang = 4
  13. ORDER BY c.id_category ASC

Personalmente, me parece que eso te puede generar un producto cartesiano, pero eso lo verás eventualmente.

Por cierto, te aconsejo dos cosas:
1) No abuses de los paréntesis, y no los pongas donde no se necesitan. Alteran la lógica de la consulta y pueden causar bajas de performance.
2) No uses palabras reservadas como "name", o cosas así en los nombres de las columnas o de las tablas. Pueden provocar errores sintácticos indetectables.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 14/10/2013 a las 09:28