Foros del Web » Programando para Internet » PHP »

UPDATE de una tabla con el valor de otra

Estas en el tema de UPDATE de una tabla con el valor de otra en el foro de PHP en Foros del Web. Hola! Necesito actualizar una columna (precio) de una tabla con un valor de otra tabla. T. Productos id, titulo, desc, precio T. Valores id, porcentaje ...
  #1 (permalink)  
Antiguo 28/10/2012, 21:07
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 21 años, 3 meses
Puntos: 5
UPDATE de una tabla con el valor de otra

Hola!

Necesito actualizar una columna (precio) de una tabla con un valor de otra tabla.

T. Productos
id, titulo, desc, precio

T. Valores
id, porcentaje

Es decir que si en el campo porcentaje, se agrega un 10 %, se debería ver reflejado en TODA la columna precio de la tabla producto.
Por lo que estuve leyendo se puede hacer con sql y probé algo así, pero no funciona

Código PHP:
$sql "UPDATE productos SET precio.productos = precio.productos + precio.productos * porcentaje.valores / 100";
$result mysql_query($sql$conn); 
Espero me puedan ayudar, gracias!
__________________
Saludos!!!
Maru.-

Última edición por Maru77; 28/10/2012 a las 21:14
  #2 (permalink)  
Antiguo 28/10/2012, 21:46
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: UPDATE de una tabla con el valor de otra

Lo que tienes escrito es correcto, es decir usar + * /, pero no necesariamente es correcto la ecuación porque hay orden de prioridad. Si quieres encierralo en parentesis para evitar cualquier problema con los ordenes de prioridades. Es decir
Código MySQL:
Ver original
  1. precio.productos = ((( precio.productos + precio.productos ) * porcentaje.valores) / 100 )
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 28/10/2012, 21:54
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 21 años, 3 meses
Puntos: 5
Respuesta: UPDATE de una tabla con el valor de otra

abimaelrc gracias!

lo probé pero aún así no me actualiza, puede ser que no esté reconociendo la tabla Valores?
__________________
Saludos!!!
Maru.-
  #4 (permalink)  
Antiguo 28/10/2012, 22:01
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: UPDATE de una tabla con el valor de otra

Hmmmm, la tabla debe ser porcentaje y la columna debe ser valores, si no es así entonces estás llamando mal entonces.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 28/10/2012, 22:05
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 21 años, 3 meses
Puntos: 5
Respuesta: UPDATE de una tabla con el valor de otra

En la tabla valores cargo un porcentaje (el campo es porcentaje) que debe ser reflejado en la tabla precios (el campo es precio)

$sql = "UPDATE productos SET precio.productos = ((( precio.productos + precio.productos ) * porcentaje.valores) / 100 )";
__________________
Saludos!!!
Maru.-
  #6 (permalink)  
Antiguo 28/10/2012, 22:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: UPDATE de una tabla con el valor de otra

Pues lo estás escribiendo al revés. Debe ser entonces valores.porcentaje porque el primero representa la tabla y el segundo representa la columna.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 28/10/2012, 22:11
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 21 años, 3 meses
Puntos: 5
Respuesta: UPDATE de una tabla con el valor de otra

$sql = "UPDATE productos SET productos.precio = ((( productos.precio + productos.precio ) * valores.porcentaje) / 100 )";

tampoco funciona :/
__________________
Saludos!!!
Maru.-
  #8 (permalink)  
Antiguo 28/10/2012, 22:14
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 21 años, 3 meses
Puntos: 5
Respuesta: UPDATE de una tabla con el valor de otra

Había intentado algo con un SELECT que por supuesto me devuelve el mismo resultado en toda la columna en este caso

$sql = "UPDATE productos SET precio = ((SELECT porcentaje FROM valores) * 100)";

se podrá adaptar de este modo?
__________________
Saludos!!!
Maru.-
  #9 (permalink)  
Antiguo 29/10/2012, 07:32
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: UPDATE de una tabla con el valor de otra

Bueno lo que sucede es que tienes que tomar el valor de un campo en específico. Puedes hacer eso que indicas pero debe retornar un solo valor no multiples valores.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #10 (permalink)  
Antiguo 30/10/2012, 22:27
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 21 años, 3 meses
Puntos: 5
Respuesta: UPDATE de una tabla con el valor de otra

Gracias por tu ayuda ABIMAELRC!!!
Lo resolví de este modo:

UPDATE productos SET productos.precio = ( productos.precio + (productos.precio * (SELECT valores.porcentaje FROM parametros) / 100 ))
__________________
Saludos!!!
Maru.-

Etiquetas: mysql, sql, tabla, update
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:16.