IN Y NOT IN

06/06/2007 - 10:23 por Oscar | Informe spam
Hola

Tengo la siguiente sql:

SELECT COUNT(*) AS Expr1
FROM ...
WHERE ((CONTRATOS_INSTALACIONES.CONINS_CODCLIENTE +
CONTRATOS_INSTALACIONES.CONINS_CODINSTALA +
CONTRATOS_INSTALACIONES.CONINS_TIPOINSTALA)
NOT IN
(SELECT PTTRAINS_CLIENTE +
PTTRAINS_INSTALACION + PTTRAINS_INSTALACION_TIPO
FROM PT_TRABAJADORES_JORNADA WITH
(NOLOCK)))

El problema que tengo es que cuando pongo IN de los 4000 registros que hay
me coge 360,eso es correcto, pero cuando pongo NOT IN en vez de cogerme
4000-360 no me coge ninguno, me da 0, porque puede ser?

Saludos, Oscar
 

Leer las respuestas

#1 Miguel Egea
06/06/2007 - 11:09 | Informe spam
Esa sintaxis no parece muy adecuada

prueba así
Select Count(*)
FROM Contratos_instalaciones c
left join PT_TRABAJADORES_JORNADA p
on c.ConINS_CODcliente=p.PTTRAINS_CLIENTE and
c.CONINS_CODINSTALA=PTTRAINS_INSTALACION_TIPO and
c.CONINS_TIPOINSTALA=p. PTTRAINS_INSTALACION_TIPO
where p.PTTRAINS_CLIENTE is null

y nos cuentas

Saludos Cordiales
Miguel Egea Gómez
http://blogs.solidq.com/ES/megea/default.aspx
http://www.portalsql.com
Solid Quality Mentors


"Oscar" wrote in message
news:
Hola

Tengo la siguiente sql:

SELECT COUNT(*) AS Expr1
FROM ...
WHERE ((CONTRATOS_INSTALACIONES.CONINS_CODCLIENTE
+ CONTRATOS_INSTALACIONES.CONINS_CODINSTALA +
CONTRATOS_INSTALACIONES.CONINS_TIPOINSTALA)
NOT IN
(SELECT PTTRAINS_CLIENTE +
PTTRAINS_INSTALACION + PTTRAINS_INSTALACION_TIPO
FROM PT_TRABAJADORES_JORNADA WITH
(NOLOCK)))

El problema que tengo es que cuando pongo IN de los 4000 registros que hay
me coge 360,eso es correcto, pero cuando pongo NOT IN en vez de cogerme
4000-360 no me coge ninguno, me da 0, porque puede ser?

Saludos, Oscar


Preguntas similares