Foros del Web » Programando para Internet » PHP »

Actualizar tabla a través de otra

Estas en el tema de Actualizar tabla a través de otra en el foro de PHP en Foros del Web. Hola buenas, estoy un poco atascado y entré aqui a ver si me pueden ayudar. El caso es que tengo dos tablas: - Tickets: id_tickets, ...
  #1 (permalink)  
Antiguo 20/06/2008, 03:48
 
Fecha de Ingreso: junio-2008
Mensajes: 2
Antigüedad: 15 años, 9 meses
Puntos: 0
Actualizar tabla a través de otra

Hola buenas, estoy un poco atascado y entré aqui a ver si me pueden ayudar.

El caso es que tengo dos tablas:

- Tickets: id_tickets, id_precios, importe
- Precios: id_precios, precio

El campo Tickets.id_precios coincide con el campo Precios.id_Precios, y lo que quiero es pasar el valor de Precios.precio al campo importe, no se si me entienden...

No se me dan muy bien las consultas y por más que pruebo no me sale.

Más o menos lo intento así:

Código:
update TICKETS set importe=(Select precio from 
precios,tickets where Precios.id_precios = Tickets.id_precios)
pero no va.

Si pueden ayudarme se lo agradezco

EDITO: me explico mejor, la tabla ticket contiene el id del precio pero lo que yo quiero es que contenga el precio en sí

Última edición por merluzo; 20/06/2008 a las 03:57 Razón: explicarme mejor
  #2 (permalink)  
Antiguo 20/06/2008, 04:46
 
Fecha de Ingreso: junio-2008
Mensajes: 2
Antigüedad: 15 años, 9 meses
Puntos: 0
De acuerdo Respuesta: Actualizar tabla a través de otra

Al final, a falta de saber hacer consultas, lo he echo mediante dos funciones y me ha funcionado:

Código:
	function ActualizaTicket(){
		$this->conexion();
		$resu=mysql_query("Select id_tickets_emitidos,idPrecio from Tickets_Emitidos",
		$this->conexion) or die (mysql_error($this->conexion));
		$this->desconexion();

		while($a=mysql_fetch_array($resu)){
			$this->conexion();
			$resultado=mysql_query("Update Tickets_emitidos set
			precio=".$this->DevuelvePrecio($a['idPrecio'])." where id_tickets_emitidos=".$a['id_tickets_emitidos']."",
			$this->conexion);
		}

	}

	function DevuelvePrecio($a){
		$this->conexion();
		$resu=mysql_query("Select precio from PRECIOS where id_precio=".$a."",
		$this->conexion) or die (mysql_error($this->conexion));

		$precio=mysql_fetch_array($resu);
		return $precio[0];
	}
Sabeís si podía haber echo lo mismo con una simple consulta?
  #3 (permalink)  
Antiguo 20/06/2008, 04:57
 
Fecha de Ingreso: junio-2008
Ubicación: Valladolid
Mensajes: 38
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Actualizar tabla a través de otra

Hola, creo que te sobra la tabla tickets de la subconsulta y que debes cruzar el id de la consulta con el de la subconsulta:

update tickets t set t.precio = (select p.precio from precios p where p.id_precio = t.id_precio)

No lo he probado, pero creo que así estaría correcto. Ya me dirás.

Saludos!
  #4 (permalink)  
Antiguo 20/06/2008, 06:52
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Respuesta: Actualizar tabla a través de otra

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #5 (permalink)  
Antiguo 20/06/2008, 07:49
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
Respuesta: Actualizar tabla a través de otra

tienes precios preestablecidos para productos o algo??? me podrias explicar de q se trata el sistema un poco!!!
saludos
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
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 07:34.