2011-08-09 30 views
0
select * from tablename 
    where id in(select id from tablename2 where condition UNION select -1) 

select -1を使用すると、内側のクエリでエラーが発生しないように見えますか?それは実現可能かどうか?"WHERE IN"句のsqlクエリ

+3

内部クエリで何も返されない場合、外部クエリで返される行はありません。あなたはどんなエラーを出していますか? – Jacob

+0

内部クエリが値を返さない場合、エラーになるとは思わない。 –

+0

それを得ました。私たちが()の空白を入れたままにするとエラーになります。内部クエリが空のクエリを返す場合空のクエリは空の結果を返します。ありがとうとにかく – jit

答えて

0

クエリで何も返されない場合、エラーは発生しません。空の結果セットを返します。

+0

それを取得しました。内部クエリが空の場合は空のクエリが空の結果を返します。とにかく – jit

1

私見、inner-selectは、あなたはそれがその後、サブクエリ正しい方法で行わ取得する必要がある場合は、an inner joinトリック

select * 
from tablename as t1 
inner join tablename2 as t2 
on t1.id=t2.id 
where condition; --- your condition 
1

を行います(遅い)

あなたの投稿をSQLに基づいて、理想にはほど遠いです

SELECT * 
FROM tablename AS t1 
WHERE EXISTS 
    (SELECT id 
    FROM tablename2 AS t2 
    WHERE conditions)