P Kishor <[email protected]> wrote:
> I want the values of ‘a’ for which ‘b’ = 3 AND ‘b’ = 4 (This is just
> an example. In reality, b could be any set of numbers, not just two
> numbers). To illustrate --
> sqlite> SELECT * FROM foo WHERE b = 3;
> a b
> ---------- ----------
> 2 3
> 3 3
> 5 3
> sqlite> SELECT * FROM foo WHERE b = 4;
> a b
> ---------- ----------
> 3 4
> 5 4
>
> So, I really want only the following rows
> 3 3
> 5 3
> 3 4
> 5 4
select * from foo where a in
(select a from foo where b=3
intersect
select a from foo where b=4)
and b in (3, 4);
Or something like this - it scales to longer lists:
select * from foo f1 where
(select count(*) from (select distinct b from foo f2 where f1.a = f2.a and f2.b
in (...) )) =
length_of_b_list
and b in (...);
Igor Tandetnik
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users