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

Consulta not exists

Estas en el tema de Consulta not exists en el foro de SQL Server en Foros del Web. Saludos comunidad, tengo la siguiente consulta: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT p . id_personal , p . id_ref_externa , p . nombre FROM ...
  #1 (permalink)  
Antiguo 31/10/2012, 11:54
 
Fecha de Ingreso: junio-2012
Mensajes: 90
Antigüedad: 12 años, 1 mes
Puntos: 2
Consulta not exists

Saludos comunidad, tengo la siguiente consulta:

Código SQL:
Ver original
  1. SELECT p.id_personal,p.id_ref_externa,p.nombre FROM
  2. corporativodb.dbo.corp_personal p
  3. INNER JOIN corporativodb.dbo.corp_asistencia a ON a.id_personal=p.id_personal
  4. WHERE  NOT EXISTS (SELECT * FROM corporativodb.dbo.corp_asistencia c WHERE CONVERT(DATE,c.fecha_asistencia,103)=CONVERT(DATE,GETDATE(),103))
  5. AND p.estatus_personal=1 AND p.id_ref_externa<>0

Como se podrán dar cuenta, manejo 2 tablas:
corp_personal & corp_asistencia

Dentro de la tabla corp_personal tengo algunos 500 registros y dentro de la tabla corp_asistencia guardo las asistencias del día, me gustaría sacar una consulta para ver todos los registros que no aparecen dentro de la tabla corp_asistencias y así sacar quienes no tienen asistencia, obviamente sacando un filtrado como pueden ver en esta parte de la consulta: "AND p.estatus_personal=1 AND p.id_ref_externa<>0" --> Esto es para diferenciar los que están activos y los que ya abandonaron la empresa.

Gracias de antemano.
  #2 (permalink)  
Antiguo 31/10/2012, 12:01
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, 11 meses
Puntos: 774
Respuesta: Consulta not exists

y ese query que te obtiene?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 31/10/2012, 12:02
 
Fecha de Ingreso: junio-2012
Mensajes: 90
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: Consulta not exists

Ningún valor...solo los nombres de las columnas
  #4 (permalink)  
Antiguo 31/10/2012, 12:26
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, 11 meses
Puntos: 774
Respuesta: Consulta not exists

puedes poner un pequeño ejemplo de tus datos y que quieres obtener??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 31/10/2012, 13:05
 
Fecha de Ingreso: junio-2012
Mensajes: 90
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: Consulta not exists

Supongamos que tengo el siguiente personal dentro de corp_personal:

Empleado 1
Empleado 2
Empleado 3
Empleado 4
Empleado 5

Y de acuerdo a la asistencia del día de hoy (almacenados en la tabla corp_asistencia), solo vinieron:

Empleado 1
Empleado 2
Empleado 3


Me gustaría que con la consulta me diera el siguiente resultado:

Empleado 4
Empleado 5
  #6 (permalink)  
Antiguo 31/10/2012, 16:00
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, 11 meses
Puntos: 774
Respuesta: Consulta not exists

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. nombre VARCHAR(200)
  4. )
  5.  
  6. CREATE TABLE #temp2
  7. (
  8. nombre VARCHAR(200)
  9. )
  10.  
  11. INSERT INTO #temp VALUES ('Empleado 1')
  12. INSERT INTO #temp VALUES ('Empleado 2')
  13. INSERT INTO #temp VALUES ('Empleado 3')
  14. INSERT INTO #temp VALUES ('Empleado 4')
  15. INSERT INTO #temp VALUES ('Empleado 5')
  16.  
  17.  
  18. INSERT INTO #temp2 VALUES ('Empleado 1')
  19. INSERT INTO #temp2 VALUES ('Empleado 2')
  20. INSERT INTO #temp2 VALUES ('Empleado 3')
  21.  
  22. SELECT * FROM #temp AS t1
  23. WHERE NOT EXISTS (SELECT nombre FROM #temp2 AS t2 WHERE t1.nombre=t2.nombre)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: exists, registro, select, 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 14:36.