[pgsql-jp: 36818] Re: WHEREにSELECTふたつ

Naoki.Kuniyoshi. nao_k @ din.or.jp
2006年 3月 3日 (金) 19:00:39 JST


kuniyoshiです。

 これだと、1件のみ対象で、それ以上はエラーになりませんか?
 Oracleだとその場合、エラーになります。

 そういう場合は、inを使えば対応できるかと。

UPDATE t1 SET f3 = 10
WHERE (f1, f2) in (SELECT f1, f2 FROM t2 WHERE f5='a02');

# PostgreSQLで動作確認はしてません(汗
# Oracleだけの方言だったらごめんなさい

On Fri, 3 Mar 2006 18:42:31 +0900
"ISHIDA Akio" <iakio @ mono-space.net> wrote:

>よく読んでみたら、実はこれでいいんじゃないでしょうか。
>
>UPDATE t1 SET f3 = 10
>WHERE (f1, f2) = (SELECT f1, f2 FROM t2 WHERE f5='a02');

-- 
"Naoki.Kuniyoshi." <nao_k @ din.or.jp>





pgsql-jp メーリングリストの案内