

下記SQLのようにIN句の中にWITH句を入れることは可能なのでしょうか。

[code]

    SELECT * FROM customer WHERE id IN (
      WITH _t2 AS (SELECT id FROM t2 WHERE id > 1)
      SELECT * FROM t1 WHERE id1 IN (SELECT id FROM _t2)
    );
    
[/code]


CC BY-SA 3.0
2016-09-25T16:35:11.090
29127
2017-02-17T04:40:53.473
2016-09-25T17:11:49.253
8000
17348
question
postgresql
IN句の中でWITH句を使うことはできるのか


IN区の中にはselect区の様なデータを出力するものが入ります、ですのでWITH区でもデータが  
出力される様に書かれていれば、問題はありません。UPDATEで終了するとだめです。同様にINSERT,DELETEも。

XX IN (...）の場合のselectの項目は１つです。複数の選択をする場合は、（XX,YY) IN
(...)の様に書く事ができます。ですのでSELECT ＊ FROM t1 の部分は1つで有る必要があります。

`SELECT id1 FROM t1 WHERE id1 IN (SELECT id FROM _t2)`とすれば可能だと思います。


CC BY-SA 3.0
2017-02-16T02:43:50.890
32700
2017-02-17T04:40:53.473
2017-02-17T04:40:53.473
20674
20674
29127
answer