Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

comparaciones de tablas para UPDATE,INSERT,DELETE

Estas en el tema de comparaciones de tablas para UPDATE,INSERT,DELETE en el foro de Mysql en Foros del Web. como lo dice el post... el dilema es el siguiente.... tabla articulos ID codigo descripcion unidad precio tabla articulos_temp ID_temp codigo_temp descripcion_temp unidad_temp precio_temp la ...
  #1 (permalink)  
Antiguo 26/04/2007, 08:52
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 20 años, 11 meses
Puntos: 3
comparaciones de tablas para UPDATE,INSERT,DELETE

como lo dice el post... el dilema es el siguiente....

tabla articulos
ID
codigo
descripcion
unidad
precio

tabla articulos_temp
ID_temp
codigo_temp
descripcion_temp
unidad_temp
precio_temp

la ciencia es la siguiente, se deben ir comparando las filas y dependiendo de lo que se encuentre en articulos_temp se realizara la accion, claro esta las acciones seran en php pero mi interrogante es como hacerlas...

si el articulo 0000001 esta en articulos_temp y se comparan las tablas y el mismo articulo nno esta en la tabla articulo que la coloque (INSERT), si esta pero el precio fue modificado, pos que lo modifique (UPDATE) y si en articulos_temp no esta ese codigo que lo elimine de la tabla articulos

yo estoy solicitando los datos asi

Código PHP:
SELECT FROM articulos_temp,articulos 
que mas le debo agregar para que no me repita los codigos?

porque actualmente en articulos_temp tengo de prueba 2 articulos pero en la tabla articulos tengo 19312 por lo cual cuando hace las comparaciones me empieza a repetir los codigos de articulos_temp...

PD me explique bien?
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #2 (permalink)  
Antiguo 26/04/2007, 12:10
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 19 años, 6 meses
Puntos: 2
Re: comparaciones de tablas para UPDATE,INSERT,DELETE

A ver si te vale

Esta consulta para el insert
Código:
INSERT INTO articulos (ID,codigo,descripcion,unidad,precio)(
	SELECT 
	ID,
	codigo,
	descripcion,
	unidad,
	precio 
	
	FROM articulos_temp 
	WHERE ID NOT IN (
						SELECT ID FROM articulos
					)
)
El update
Código:
UPDATE 
articulos,articulos_temp 
SET 
articulos.precio = articulos_temp.precio 
WHERE 
articulos.id = articulos_temp.id AND 
articulos.precio != articulos_temp.precio
El delete

Código:
DELETE FROM articulos WHERE ID NOT IN (SELECT ID FROM articulos_tempo)
Todo arreglado con 3 consultas

Un saludo
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 14:09.