2011-01-20 10 views

Respuesta

5

Para consultas anidadas no te recomiendo WITH cláusula. Se hace larga consultas complejas orden de magnitud más fácil de entender/construcción/modificar:

WITH 
    w_users AS(-- you can name it whatever you want 
     SELECT id 
     FROM users 
     WHERE < long condition here > 
    ), 
    w_other_subquery AS(
     ... 
    ) 
SELECT email_id 
    FROM ... 
WHERE user_id IN (SELECT id FROM w_users) 
+0

ok gracias, va a probar esto! – abhijithln

1

se pueden utilizar en comandos para obtener como resultado ejemplo:

SELECT email FROM tableName WHERE (Name IN ('paul', 'peter')) 
+0

gracias, pero "paul peter n" son sólo algunos ejemplos de la salida, que puede variar cada vez .... – abhijithln

+0

obtener toda nombre en las variables y pasar como parámetro a en la función –

+0

SELECT uSER_ID, EMAIL_ID de usuarios donde user_id = (SELECCIONAR PRODUCT_MEMBERS dE PRODUCTOS dONDE PRODUCT_NAME = 'ICP/RAA'); Esta es la consulta real .... no sé cómo obtenerlos como variables .... el resultado de la consulta corelated es .... "sri, vik" ahora tengo que tomar ambos como entrada para la consulta externa y mostrar sus identificadores de correo electrónico – abhijithln

4

Usted puede usar como esto

cOMO

SELECT USER_ID,EMAIL_ID FROM USERS where user_id IN 
(SELECT PRODUCT_MEMBERS FROM PRODUCT WHERE PRODUCT_NAME='ICP/RAA'); 

sólo tiene que utilizar la cláusula IN '=' se utiliza para hacer coincidir un resultado

Cuestiones relacionadas