Ver Mensaje Individual
  #19 (permalink)  
Antiguo 29/08/2013, 09:27
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: Error mysql_query("UPDATE ...

La sentencia de SELECT está bien escrita, pero en la de UPDATE estás entremezclando el UPDATE con el SELECT, y no operaciones que no tienen ninguna relación.

Código MySQL:
Ver original
  1. SELECT   id_attribute, quantity
  2.     FROM zm_product_attribute INNER JOIN zm_product_attribute_combination
  3.          USING (id_product_attribute)
  4.    WHERE id_attribute IN ('1', '17')
  5.      AND id_product = '7'
  6. GROUP BY id_attribute
Esto está bien.

Esto no tiene ningún sentido:
Código MySQL:
Ver original
  1. UPDATE SELECT id_attribute, quantity
  2. FROM zm_product_attribute INNER JOIN zm_product_attribute_combination USING (id_product_attribute)
  3. WHERE id_attribute IN ('1','17') AND id_product = '7'
  4. GROUP BY id_attribute SET quantity='50'

Debes tomar el manual de referencia y leer la sintaxis de UPDATE, no simplemente sumar variables donde creas una y otra... Son sentencias con sintaxis distinta.

http://dev.mysql.com/doc/refman/5.0/es/update.html

Voy a hacer una suposición, porque para escribirla correctamente y para el caso específico, necesitaría conocer con exactitud la estructura y relaciones de ambas tablas.
Esto está sintácticamente bien (repito, no sé si es correcta por las columnas que usas):
Código MySQL:
Ver original
  1. UPDATE zm_product_attribute_combination B INNER JOIN zm_product_attribute C USING(id_product_attribute)
  2.     SET B.quantity='50'
  3. WHERE C.id_attribute IN ('1','17')
  4.     AND B.id_product = '7'
¿Se entiende la diferencia entre ambas?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)