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

extraer registros de una tabla con un ciclo IF en una consulta MYSQL

Estas en el tema de extraer registros de una tabla con un ciclo IF en una consulta MYSQL en el foro de Mysql en Foros del Web. hola les agradeseria si me ayudaran con esto tengo que extraer los campos de una tabla o registros de una tabla esto lo quiero hacer ...
  #1 (permalink)  
Antiguo 21/10/2008, 14:10
 
Fecha de Ingreso: octubre-2008
Mensajes: 67
Antigüedad: 15 años, 6 meses
Puntos: 0
extraer registros de una tabla con un ciclo IF en una consulta MYSQL

hola les agradeseria si me ayudaran con esto

tengo que extraer los campos de una tabla o registros de una tabla
esto lo quiero hacer a traves de un ciclo if en mysql cosa que tome los registros y se copien en el campo de otra tabla

supongamos que tenenmos

tabla: personas y sus campos son:

rut,nombre,apellido_paterno,apellido_materno etc...


tabla: auditoria y sus campos son:

tabla,campo,valor_anterior,valor_actual etc...

en la tabla auditoria y dentro de sus campos necesito que se copien los registros ingresados en la tabla personas

he tratado con varias formas pero nada me resulta asumo que es con un IF pero nose como situarlo en la consulta
quizas ustedes me podrian dar una mano si es que es posible
  #2 (permalink)  
Antiguo 21/10/2008, 23:06
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: extraer registros de una tabla con un ciclo IF en una consulta MYSQL

Clusterbit,
necesitamos más información, al menos yo. Sí puedes insertar los datos de una tabla en otra, o actualizar los datos de la segunda tabla con los de la primera. Pero esto son dos cosas diferentes. Dinos con un ejemplo con datos concretos y los datos de qué campos de la primera tabla quieres, sea insertar en registros nuevos, o actualizar en otros registros de la segunda tabla, para lo cual deberemos tener un campo relacionado... Danos algún ejemplo concreto.
  #3 (permalink)  
Antiguo 22/10/2008, 07:54
 
Fecha de Ingreso: octubre-2008
Mensajes: 67
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: extraer registros de una tabla con un ciclo IF en una consulta MYSQL

Cita:
Iniciado por jurena Ver Mensaje
Clusterbit,
necesitamos más información, al menos yo. Sí puedes insertar los datos de una tabla en otra, o actualizar los datos de la segunda tabla con los de la primera. Pero esto son dos cosas diferentes. Dinos con un ejemplo con datos concretos y los datos de qué campos de la primera tabla quieres, sea insertar en registros nuevos, o actualizar en otros registros de la segunda tabla, para lo cual deberemos tener un campo relacionado... Danos algún ejemplo concreto.

Hola jurena gracias por tu interes mira esto es lo he hecho

INSERT INTO ts_auditoria(audi_ip,audi_fecha,audi_tabla,audi_ca mpo,audi_valor_anterior,audi_valor_actual) VALUES('196.94.87.0',(SELECT DATE_FORMAT(now(),'%Y/%m/%d')),'Persona',1,1,1);

yo necesito extraer cada dato insertado en la tabla td_persona
y que se muestre en el CAMPO "audi_campo" de la tabla ts_auditoria es pero se entienda esta vez jejeje...


gracias por su comprencion ante cualquier duda me avisan
y
  #4 (permalink)  
Antiguo 22/10/2008, 08:45
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: extraer registros de una tabla con un ciclo IF en una consulta MYSQL

Cita:
... yo necesito extraer cada dato insertado en la tabla td_persona
y que se muestre en el CAMPO "audi_campo" de la tabla ts_auditoria
...
¿Qué quieres decir con eso?
¿Quieres añadir en la tabla ts_auditoria tantos registros como personas haya en td_persona? Eso añadiría tantos registros como personas, es decir habría una auditoría para cada persona. Tendrías que aclararnos qué otros datos deseas ingresar en los demás campos de ts_auditoria. Pero ya te digo que eso se hace con un INSERT INTO ts_auditoria (audi_campo, campo2, campo3) SELECT id, campo2, campo3 FROM td_persona

¿O lo que buscas es que se te muestre un listado de esas personas y tú elijas la que quieras y añada un registro cuyo audi_campo corresponda sólo al de la persona seleccionada? Porque si es esto último, eso requiere programación y html.

Por cierto, de la sintaxis de inserción que muestras me sorprende el select para el date_format
INSERT INTO ts_auditoria(audi_ip,audi_fecha,audi_tabla,audi_ca mpo,audi_valor_anterior,audi_valor_actual) VALUES('196.94.87.0',(SELECT DATE_FORMAT(now(),'%Y/%m/%d')),'Persona',1,1,1);
creo que no es necesario..., pues la fecha hora NOW() no procede de ninguna tabla, sino que se toma del servidor.
  #5 (permalink)  
Antiguo 22/10/2008, 09:14
 
Fecha de Ingreso: octubre-2008
Mensajes: 67
Antigüedad: 15 años, 6 meses
Puntos: 0
De acuerdo Respuesta: extraer registros de una tabla con un ciclo IF en una consulta MYSQL

Cita:
Iniciado por jurena Ver Mensaje
¿Qué quieres decir con eso?
¿Quieres añadir en la tabla ts_auditoria tantos registros como personas haya en td_persona? Eso añadiría tantos registros como personas, es decir habría una auditoría para cada persona. Tendrías que aclararnos qué otros datos deseas ingresar en los demás campos de ts_auditoria. Pero ya te digo que eso se hace con un INSERT INTO ts_auditoria (audi_campo, campo2, campo3) SELECT id, campo2, campo3 FROM td_persona

¿O lo que buscas es que se te muestre un listado de esas personas y tú elijas la que quieras y añada un registro cuyo audi_campo corresponda sólo al de la persona seleccionada? Porque si es esto último, eso requiere programación y html.

Por cierto, de la sintaxis de inserción que muestras me sorprende el select para el date_format
INSERT INTO ts_auditoria(audi_ip,audi_fecha,audi_tabla,audi_ca mpo,audi_valor_anterior,audi_valor_actual) VALUES('196.94.87.0',(SELECT DATE_FORMAT(now(),'%Y/%m/%d')),'Persona',1,1,1);
creo que no es necesario..., pues la fecha hora NOW() no procede de ninguna tabla, sino que se toma del servidor.

jurena creo que ahora podre explicarlo mejor

lo que yo nesecito es hacer una bitacora de una base de datos entonces en cada dato que se ingresen en las tablas de la base de datos
se cree un registro en la tabla maestra ts_auditoria

y los campos de esta tabla son:

AUDI_ID
AUDI_IP
AUDI_FECHA
AUDI_TABLA
AUDI_CAMPO
AUDI_VALOR_ANTERIOR
AUDI_VALOR_ACTUAL

ahora nose como empezar tengo nocion de que es con un trigger
por eso les consulto para que me den una manita de como empezar

saludos y gracias por su preocupacion
  #6 (permalink)  
Antiguo 22/10/2008, 09:40
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: extraer registros de una tabla con un ciclo IF en una consulta MYSQL

Creo que es así, que se trata de un trigger, pero yo no trabajo de momento con ellos; de modo que tendrás que esperar a que algún otro forero te eche una mano, pero ahora parece que sí está claro lo que quieres, que al añadir una persona en la tabla persona, añada un registro en la tabla auditoría que en el campo audi_campo incluya el número correspondiente al id.
Suerte.
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 01:08.