En principio, CONCAT() e usa para crear una sola cadena de texto a partir de los valores que están en el paréntesis, y tu estás poniendo un sólo valore de cadena en ellos.
Siempre te conviene escribir la consulta en forma estructurada, ayuda a ver las metidas de pata:
Código MySQL:
Ver original Products.id_product id,
Descrip.name title,
Descrip.meta_description description,
CONCAT("Salud y belleza > Asistencia sanitaria") google_product_category
, Cat.name category,
CONCAT("http://www.xxxxxxxx.com/",Cat.link_rewrite
,"/",Products.id_product
,"-",Descrip.link_rewrite
,".html") link
, CONCAT("http://www.xxxxxxxx.com/",Products.id_product
,"-",Images.id_image
,"-thickbox/",Descrip.link_rewrite
,".jpg") image_link
, CONCAT("en stock") availability
, ROUND(((Products.price
)*((tax.rate
+100)/100))-Products.reduction_price
,2) price
, Proveedores.meta_title brand
ps_product Products,
ps_product_lang Descrip,
ps_category_lang Cat,
ps_tax tax,
ps_image Images,
ps_supplier_lang Proveedores
Products.id_product= Descrip.id_product
Cat.id_category=Products.id_category_default
tax.id_tax=Products.id_tax
Products.id_product=Images.id_product
Proveedores.id_supplier=Products.id_supplier
Products.active = 1
AL menos en tres de las columnas del SELECT usas CONCAT contra un sólo valor:
Código MySQL:
Ver original ...,
CONCAT("Salud y belleza > Asistencia sanitaria") google_product_category
, ...,
CONCAT("en stock") availability
, ...
...
...
Las tres tienen el potencial de generar errores.
Además, hay algunos considerandos:
- Las cadenas de texto se deben encerrar entre apóstrfos (') y no entre comillas ("). Las comillas no son reconocidas en todos los servidores como texto, sino que suelen usarse para lo mismo que los acentos inversos (`): Nombres de campos, tablas y bases. Esto puede generar errores.
- No uses palabras en inglés puras en los nombres de las columnas, tablas, bases o alas. Puedes estar usando palabras reservadas sin saberlo, lo que generará errores no detectables. Abtes bien usa palabras combinadas con la raya (_). Es más habitual.
- El AS es opcional, y te conviene ya no usarlo. Es obsoleto y no aporta nada. De hecho ni el Oracle lo usa ya. Sólo se conserva por compatibilidad con DBMSs muy viejos.