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)