CONSULTA

14/04/2007 - 19:58 por zx | Informe spam
Hola, pregunta..
si tengo dos tablas de coche con dos atributos tipo y color,
y quiero que me aparezcan aquellos coches que están en tabla 1 y los que no
en tabla2, y a la inversa, alguien sabe como sería la consulta ??


Gracias, saludos

Preguntas similare

Leer las respuestas

#1 Jose Mariano Alvarez
14/04/2007 - 23:33 | Informe spam
En el post , "zx" <ninguno> DIJO
.
si tengo dos tablas de coche con dos atributos tipo y color,







Revisa "EXISTS" en la ayuda.




Saludos
Ing. Jose Mariano Alvarez


(Cambia los ceros por O y saca lo que sobra)


IMPORTANTE

Por favor traten de indicar la versión de SQL y Service Pack.
La inclusión de (CREATE, INSERTS, etc.) para poder reproducir el
problema también ayuda.
Respuesta Responder a este mensaje
#2 Javier Loria
16/04/2007 - 00:59 | Informe spam
Hola:
Cuando hay 2 o mas atributos el LEFT/RIGHT JOIN con IS NULL suele ser la
mejor opcion para este tipo de consulta, algo como.
==SELECT
FROM Coches1
LEFT JOIN Coches2
ON Coches1.Tipo=Coches2.Tipo
AND Coches1.Color=Coches2.Color
WHERE Coches2.Tipo IS NULL
Esta consulta asume 2 elementos:
1. Que Tipo-Color es llave primario o unico
2. Que Tipo no permite nulos
El resultado debe ser Coches1 que no existen en Coches2.
Saludos,

Javier Loria
Costa Rica (MVP)
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
"zx" <ninguno> wrote in message
news:
Hola, pregunta..
si tengo dos tablas de coche con dos atributos tipo y color,
y quiero que me aparezcan aquellos coches que están en tabla 1 y los que
no
en tabla2, y a la inversa, alguien sabe como sería la consulta ??


Gracias, saludos


Respuesta Responder a este mensaje
#3 zx
16/04/2007 - 10:34 | Informe spam
Lo arrelgé con un NOT IN a través de compara solo un atributo.

Saludos y gracias


"zx" <ninguno> escribió en el mensaje
news:
Hola, pregunta..
si tengo dos tablas de coche con dos atributos tipo y color,
y quiero que me aparezcan aquellos coches que están en tabla 1 y los que


no
en tabla2, y a la inversa, alguien sabe como sería la consulta ??


Gracias, saludos


Respuesta Responder a este mensaje
#4 Alejandro Mesa
17/04/2007 - 15:02 | Informe spam
zx,

Mucho cuidado con el operador "NOT IN", si esas columnas admiten valor NULL.
Preferible que uses LEFT o RIGTH JOIN, como indico Javier, o el operador "NOT
EXISTS". Si estas usando SQL Server 2005, te recomiendo le des una mirada al
nuevo operador EXCEPT.

select 1
where 2 not in (NULL, 3)
go

select 1
where not exists (
select *
from (select cast(NULL as int) as c1 union all select 3) as t
where c1 = 2
)
go

select 1 as c1, 3 as c2
EXCEPT
select 2 as c1, 4 as c2
go


AMB

"zx" wrote:

Lo arrelgé con un NOT IN a través de compara solo un atributo.

Saludos y gracias


"zx" <ninguno> escribió en el mensaje
news:
> Hola, pregunta..
> si tengo dos tablas de coche con dos atributos tipo y color,
> y quiero que me aparezcan aquellos coches que están en tabla 1 y los que
no
> en tabla2, y a la inversa, alguien sabe como sería la consulta ??
>
>
> Gracias, saludos
>
>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida