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

Replicación de datos

Estas en el tema de Replicación de datos en el foro de SQL Server en Foros del Web. Teniendo las siguientes tablas excepciones y marcas, y ejecutando la siguiente consulta @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT        Excepciones . IdExcepcion ...
  #1 (permalink)  
Antiguo 26/03/2015, 17:03
 
Fecha de Ingreso: marzo-2015
Mensajes: 7
Antigüedad: 9 años, 1 mes
Puntos: 0
Pregunta Replicación de datos

Teniendo las siguientes tablas excepciones y marcas, y ejecutando la siguiente consulta

Código SQL:
Ver original
  1. SELECT        Excepciones.IdExcepcion, Excepciones.DscExcepcion, Excepciones.FechaInicio, Excepciones.HoraInicio, Excepciones.HoraFinal, Marcas.IdMarcas, Marcas.Hor_marca, Marcas.Fch_marca
  2. FROM            Excepciones INNER JOIN Marcas ON
  3. Excepciones.IdColaborador = Marcas.IdColaborador
  4. ORDER BY Excepciones.FechaInicio DESC
Acabo de ver que lo que en realidad me tendría que aparecer 1 registro por id de excepción (llamémoslo 2241) pero me aparecen 20 registros de ese id de excepción con los mismos datos y así sucede con los demás id de excepción. ¿Qué opinan?

Aca les coloco el detalle de lo que me pasa
http://imgur.com/x4MZ6zs

Última edición por gnzsoloyo; 26/03/2015 a las 19:26
  #2 (permalink)  
Antiguo 26/03/2015, 17:31
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Replicación de datos

te falta una columna mas para poder disminuir los registros, digamos un campo fecha, porque lo que pasa es que tienes varias marcas para un mismo usuario, por lo que al hacer la relacion te hace un producto cartesiano :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 27/03/2015, 10:11
 
Fecha de Ingreso: marzo-2015
Mensajes: 7
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Replicación de datos

Se me paso por la mente, pero ¿se puede hacer sin agregar ningún tipo de columna? ya que tengo otra relación que es de excepciones y motivo, en la que consulto y los datos no tienen ningún problema.

Mira, http://imgur.com/fdpnp0v

Consulto esto, ya que quería unificar las 3 tablas para aplicar un serie de condicionales.
  #4 (permalink)  
Antiguo 27/03/2015, 10:16
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Replicación de datos

se podria hacer pero poniendo otra condicion, por ejemplo que nada mas retorne el valor mas reciente o nada mas 1 registro, ahora que manejador de bases de datos manejas??? sql server???

Un ejemplo de lo que tienes y lo que quieres obtener podria ayudar mucho :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 30/03/2015, 07:34
 
Fecha de Ingreso: marzo-2015
Mensajes: 7
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Replicación de datos

Lo que quiero hacer, es realizar una consulta de esas 3 tablas( excepciones, motivo y marcas ) en la que me muestre de acuerdo a la ausencia del trabajador la condición por la que falto o no estuvo, ejemplo: cuando se va de vacaciones, viaje , etc (Dsc_motivo de tabla motivo) ahora si se puede que también me muestre el tipo de excepción ( Dsc_excepcion de tabla excepciones )la tabla excepciones se enlaza con la tabla motivo por medio del tipo de motivo y bueno la tablas marcas es para ver el estado del trabajador en la asistencia diaria.

Ejemplo

http://imgur.com/nbmlOsa
  #6 (permalink)  
Antiguo 30/03/2015, 08:22
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Replicación de datos

ok se entiende lo que quieres, pero podrias poner un ejemplo de los datos que tienes(ejemplo no toda la tabla) y que es lo que quieres obtener para poder ayudarte mejor, otra cosa manejas sql server??? o cual es tu motor de bases de datos??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 30/03/2015, 09:39
 
Fecha de Ingreso: marzo-2015
Mensajes: 7
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Replicación de datos

Mi motor de bdd es el sql server 2012. ¿Ejemplo de datos? Lo que quiero obtener es que al realizar una consulta me salga el estado o condición del trabajador lo cual se obtiene de la tabla motivo.

http://i.imgur.com/fdpnp0v.png , aquí esta enlazada la tabla motivo - excepciones
http://imgur.com/x4MZ6zs , aquí esta enlazada la tabla excepciones - marcas

Por ejemplo si yo quiero obtener la lista de trabajadores del día viernes 27-03-2015 aparte de mostrarme la hora de ingreso (tabla marcas), en los que no vinieron se muestre si hay alguna excepción registrada(tabla excepciones) y el motivo (tabla motivo).

Si es necesario puedo colocar detalles completos de las tablas, desde hace días que lo intento y mis conocimientos básicos en bdd no me ayudan a avanzar.
  #8 (permalink)  
Antiguo 30/03/2015, 09:51
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Replicación de datos

es un query sencillo, pero no dices cual es la fecha que estas buscando, lo puedes hacer con un left join

Código SQL:
Ver original
  1. SELECT * FROM tabla1 AS t1
  2. LEFT JOIN tabla2 AS t2 ON (t1.id=t2.id)
  3. LEFT JOIN tabla3 AS t3 ON (t2.id=t3.id)
  4. WHERE fecha=.....

Ahora cuando te pido un ejemplo lo que espero es que pongas algo como esto:

tabla1
campo1 campo2 campo3
valor1 valor2 valor3
tabla2
camp1 campo2 campo3
valor1 valor2 valor3

Resultado
tabla1.campo1, tabla2.campo3

se entiende???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #9 (permalink)  
Antiguo 30/03/2015, 13:07
 
Fecha de Ingreso: marzo-2015
Mensajes: 7
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Replicación de datos

Excepciones
IdExcepcion,DscExcepcion,IdColaborador,FechaInicio ,HoraInicio,HoraFinal,IdTablaMotivo,IdMotivo,IdTip oExcepcion

2252,Problema de Baja de Tension - Levantar servicios,228,27/03/2015 00:00,17:00,20:15,NULL,NULL,4
2251,Trabajo para PRES y SECD fuera de hor,102,26/03/2015 00:00,17:00,20:13,NULL,NULL,3
2250,Trabajo para PRES y SECD fuera de hora,120,25/03/2015 00:00,17:00,18:44,NULL,NULL,3
2244,Asistencia a la clínica para análisis de sangre,180,25/03/2015 00:00,08:00,09:00,3,5,1
2245,Preparación de Informes para el balance,228,25/03/2015 00:00,17:00,20:00,NULL,NULL,4

Motivo
IdMotivo,Cod_motivo,Dsc_motivo
1,1,Lesion
2,2,Descando medico
3,3,Vacaciones
4,5,Licencia con goce

Marcas
IdMarcas,Hor_marca,Fch_marca,IdColaborador
2210851,06:59,30/03/2015 00:00,130
2210852,07:10,30/03/2015 00:00,102
2210853,07:15,30/03/2015 00:00,360
2210854,07:35,30/03/2015 00:00,211
2210855,07:35,30/03/2015 00:00,180


Excepciones.IdExcepcion,Excepciones.DscExcepcion,E xcepciones.IdColaborador,Excepciones.FechaInicio,E xcepciones.HoraInicio,Excepciones.HoraFinal,Excepc iones.IdTablaMotivo,Excepciones.IdMotivo,Excepcion es.IdTipoExcepcion

Motivo.IdMotivo,Motivo.Cod_motivo,Motivo.Dsc_motiv o

Marcas.IdMarcas,Marcas.Hor_marca,Marcas.Fch_marca, Marcas.IdColaborador

Listo, ahí te muestro unos datos, espero que sea lo que esperabas
  #10 (permalink)  
Antiguo 30/03/2015, 13:19
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Replicación de datos

y que esperas de resultado???
en esos datos veo que el trabajador 102 tuvo 2 ausencias de vacaciones los dias 26 y 25, pero marca que es???? en este caso que esperarias obtener con esos datos????

Mira este post cuando pido por el ejemplo de datos y que quiere obtener:

http://www.forosdelweb.com/f86/consulta-mysql-1123986/

con eso es mas facil para mi ayudarte :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: bases-de-datos-general, registro, registros, tabla
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 09:01.