アウトプットができる技術者に

it's a time to take a new step !

Sybase ASE 入門 in句のサブクエリは1カラムのみ

SybaseASEではin句の指定は1カラムのみのようだ。
まぁ、select文なら join すればいいんですけどね。

  • OK
select id, type, name from ti where (id) in (select id from ti2)
  • NG
select id from ti where (id, type) in (select id, type from ti2)
  • join での書き換え
select ti.* from ti, ti2 
where ti.id = ti2.id and ti.type = ti2.type
  • exists 文での書き換え
select * from ti where exists 
(select 1 from ti2 where id = ti.id and type = ti.type)