"andrew gatt" <[EMAIL PROTECTED]> writes: > I'm trying to come up with an SQL statement that works under sqlite that can > return a list of rows depending if a list of ids exist. For individual > checking i'm using: > > select 1 from table where id == 1; > > which returns a 1 if there is a row or no rows if it doesn't exist. However > i have a large list to check and was trying to think of a way to optimise > this. I can use: > > select 1 from table where id == 1 OR id == 2; > > which will return: > > 1 > 1 > > if they both exist, but if one doesn't exist i can't tell which one it is. Is > there some way to get the statement to return a row with a 0 if the id doe > not exist? > > 1 > 0 > > Or do i have to do the check for each one?
How about this: SQLite version 3.2.1 Enter ".help" for instructions sqlite> create table x (id integer); sqlite> insert into x values (1); sqlite> insert into x values (3); sqlite> select (id in (1,2)) from x; 1 0 sqlite> select (id in (1,2,3)) from x; 1 1 sqlite>