Gracias.
>-----Mensaje original-----
SELECT distinct emplid
FROM ps_dwsa_st_car_trm
WHERE acad_career = 'GRAD' and institution = 'UMNDL'
AND term = '0999'
MINUS
SELECT distinct emplid
FROM ps_dwsa_stdnt_enrl
WHERE acad_career = 'GRAD' and institution = 'UMNDL'
AND term = '0999'
si el primer select devuelve 10 registro y el segundo 6, el MINUS hace que
la consulta total devuelve 4 registros.
"Isaías" <iis...@hotmail.com> wrote in message
news:7dde01c1ef94$56d34850$b1e62ecf@tkmsftngxa04...
Consulte usted OUTER JOINS, eso, es precisamente
el "MINUS" de Oracle.
SELECT employee.job_id, employee.emp_id,
employee.fname, employee.minit, jobs.job_desc
FROM employee LEFT OUTER JOIN jobs ON
employee.job_id = jobs.job_id
Saludos.
>-----Mensaje original-----
>.
>
Esta sentencia tengo que hacerla de memoria (espero que funcione)
Select t1.emplid FROM
(SELECT distinct emplid
FROM ps_dwsa_st_car_trm
WHERE acad_career = 'GRAD' and institution = 'UMNDL'
AND term = '0999') T1
left outer join
(SELECT distinct emplid
FROM ps_dwsa_stdnt_enrl
WHERE acad_career = 'GRAD' and institution = 'UMNDL'
AND term = '0999') T2
on t1.emplid=t2.emplid
where t2.empid is null
para probar con algo he preparado este script
use pruebas
go
create table empleados (id int not null)
go
create table empleadosRubios (id int not null)
go
declare @i int
set @i=1
while @i<50
begin
insert into empleados values(@i)
set @i=@i+1
end
go
-- los impares son rubios :-)
declare @i int
set @i=1
while @i<50
begin
insert into empleadosRubios values(@i)
set @i=@i+2
end
go
--debe devolver solo los pares
select e.id
from Empleados E left join EmpleadosRubios Er
on E.id=er.id where er.id is null
y parece funcionar..
La idea se basa en la que propone isaias pero como hay que quedarse con la
diferencia hay que poner la última parte where t2.empid is null para que
solo saque aquellos de T1 que no están en t2, podría hacerse con not in o
not exists, pero así a mi me gusta más :-)
--
Un saludo
Miguel Egea
http://www22.brinkster.com/miguele
"dado dos querys devuelve los registros del primero que no
estén en el segundo"
Gracias.
>-----Mensaje original-----
>.
>
Tuve que consultar equivalencias entre Oracle vs SQL
Server y resulta que MINUS de Oracle es SIMILAR a NOT
EXISTS en SQL Server.
¿Tu que opinas?.
Esto es lo que especifica Oracle:
Return difference between two results sets
Oracle = MINUS
SQL = NOT EXISTS
Saludos.
>-----Mensaje original-----
>.
>