In the last episode (Nov 11), James Dyer said: > If I create a table called foo like this: > create table foo ( id1 int(11) , id2(int 11) ); > > populate it with data and then try: > > SELECT * FROM foo WHERE id2=1 AND id2=2 (for example), > > I just get an empty set returned. An explain on the query gives an > 'Impossible WHERE' message. > > Both id1 and id2 can have duplicate values in them, though the same > combination of id1 and id2 cannot appear in the data (ie: id1=1, > id2=1 ; id1=1, id2=2 is possible, id1=1, id2=1 ; id1=1, id2=1 is not > possible), and it is possible that the values I search for will not > be in the table at all. > > All I really want is to get the value for id1 where there are > corresponding records which match all of my search parameters for > id2.
You need a self-join. SELECT foo1.id1 FROM foo AS foo1, foo AS foo2 WHERE foo1.id1=foo2.id1 AND foo1.id2=1 AND foo2.id2=2; -- Dan Nelson [EMAIL PROTECTED] --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php