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

Como realizo esta consulta SQL

Estas en el tema de Como realizo esta consulta SQL en el foro de SQL Server en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original ( SELECT EmpCod FROM Empleado WHERE EmpSexo = 'M' EXCEPT ( SELECT EmpCod FROM EmpTel ) ) Lo que ...
  #1 (permalink)  
Antiguo 09/02/2014, 19:40
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Desacuerdo Como realizo esta consulta SQL

Código SQL:
Ver original
  1. (SELECT EmpCod FROM Empleado WHERE EmpSexo='M'
  2. EXCEPT
  3. (SELECT EmpCod FROM EmpTel))
Lo que hace eso es mostrar los códigos de los empleados que son masculinos y NO disponen de télefono, pero necesito hacer un join con Empleado para poder obtener el nombre, el documento, etc. ¿Como hago?

Última edición por gnzsoloyo; 09/02/2014 a las 19:50
  #2 (permalink)  
Antiguo 09/02/2014, 21:36
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: Como realizo esta consulta SQL

y porque no haces algo asi:

Código SQL:
Ver original
  1. SELECT * FROM empleado AS t1
  2. LEFT JOIN emptel AS t2 ON (t1.id=t2.id)
  3. WHERE t1.sexo='M' AND t2.id IS NULL
si los datos que necesitas estan en empleados entonces con ese query obtienes la informacion que necesitas...
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 09/02/2014, 21:45
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como realizo esta consulta SQL

Libra muchas gracias por responder, todo esto viene por ello que tengo el exámen de algebra relacional, la solución al problema debe ser con "-" que en SQL Server sería EXCEPT.
Lo que yo no sé es como aplicar un JOIN al resultado con otra tabla, es decir, tampoco puedo aplicar 2 join seguidos.

Por ejemplo:
SELECT SecCod FROM Empleado emp inner join Seccion sec ON emp.SecCod= sec.SecCod1

Como haría para aplicarle Join a eso contra otra tabla?

SELECT * FROM (SELECT SecCod FROM Empleado emp inner join Seccion sec ON emp.SecCod= sec.SecCod1) INNER JOIN XTABLA ?????
  #4 (permalink)  
Antiguo 10/02/2014, 10:50
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: Como realizo esta consulta SQL

Código SQL:
Ver original
  1. SELECT * FROM
  2. (
  3. query1
  4. ) AS t1 JOIN
  5. (
  6. query2
  7. ) AS t2 ON (t1.id=t2.id)
con eso :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 10/02/2014, 19:25
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como realizo esta consulta SQL

Perdón pero me da error :(
Código SQL:
Ver original
  1. SELECT * FROM
  2.  
  3. (SELECT EmpCod FROM Empleado AS emp WHERE EmpSexo='M'
  4. EXCEPT
  5. (SELECT EmpCod FROM EmpTel))
  6. INNER JOIN Empleado ON emp.EmpCod=Empleado.EmpCod

Última edición por gnzsoloyo; 10/02/2014 a las 21:37
  #6 (permalink)  
Antiguo 10/02/2014, 23:04
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: Como realizo esta consulta SQL

y cual es el error??? o lo adivino??? aunque creo que lo adivine jejeje prueba con esto:


Código SQL:
Ver original
  1. SELECT * FROM
  2. (
  3. SELECT EmpCod FROM Empleado AS emp WHERE EmpSexo='M'
  4. EXCEPT
  5. (SELECT EmpCod FROM EmpTel)
  6. ) AS t1
  7. INNER JOIN Empleado ON t1.EmpCod=Empleado.EmpCod
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Última edición por Libras; 11/02/2014 a las 08:57
  #7 (permalink)  
Antiguo 11/02/2014, 14:10
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como realizo esta consulta SQL

WOW MUCHAS GRACIAS pensar que pase horas, horas y horas durante 2 días para saber que me faltaba re poco jaja
Ese "AS t1".
Saludos amigo.
  #8 (permalink)  
Antiguo 11/02/2014, 14:16
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Como realizo esta consulta SQL

"horas, horas y horas durante 2 días"

Que desperdicio de tiempo.....
__________________
MCTS Isaias Islas
  #9 (permalink)  
Antiguo 11/02/2014, 14:22
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como realizo esta consulta SQL

Jajaja descansa!! ajaja si no puedo creer que era eso lo que me faltaba,
  #10 (permalink)  
Antiguo 11/02/2014, 15:09
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: Como realizo esta consulta SQL

si te fijas en el primer post donde te pongo la respuesta puse:

Código SQL:
Ver original
  1. SELECT * FROM
  2. (
  3. query1
  4. ) AS t1 JOIN
  5. (
  6. query2
  7. ) AS t2 ON (t1.id=t2.id)

ahi viene los alias de las tablas, los cuales no se pusieron nada mas para que se vea bonito, en un subquery son necesarios.....
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: select, sql
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:07.