SQL 2000 Sentencia IN

31/10/2007 - 08:17 por Juan Carlos Mendoza | Informe spam
Buenas,

Quiero validar dos campos en una sentencia IN.
Normalmente cuando es un campo hacemos
if [campo] in [select campo...

como puedo hacer para validar algo como:

if [campo1], [campo2] in [ select campo1, campo2...

Gracias anticipadas.

Juan Carlos Mendoza
 

Leer las respuestas

#1 Rubén Vigón
31/10/2007 - 09:56 | Informe spam
Hola Juan Carlos,

Puedes resolverlo con un «INNER JOIN» en lugar de un «IN»; por ejemplo:
__________________________________________________________

Si te gusta el formato de la sintaxis del «IN»...

SELECT
t1.Campo1,
t1.Campo2
FROM
Tabla1 t1 INNER JOIN (
SELECT
Campo1,
Campo2
FROM
Tabla2
WHERE
CondicionesTabla2
) AS t2 ON t1.Campo1 = t2.Campo1 AND t1.Campo2 = t2.Campo2
WHERE
CondicionesTabla1
__________________________________________________________

Si prefieres el formato estándar...

SELECT
t1.Campo1,
t1.Campo2
FROM
Tabla1 t1 INNER JOIN Tabla2 t2
ON t1.Campo1 = t2.Campo1 AND t1.Campo2 = t2.Campo2
WHERE
CondicionesTabla1 AND
CondicionesTabla2
__________________________________________________________

Y si te gusta el formato "clásico"...

SELECT
t1.Campo1,
t1.Campo2
FROM
Tabla1 t1, Tabla2 t2
WHERE
t1.Campo1 = t2.Campo1 AND t1.Campo2 = t2.Campo2 AND
CondicionesTabla1 AND
CondicionesTabla2
__________________________________________________________

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvps.org

Preguntas similares