On Mon, 2009-12-07 at 12:37 +0100, Merlin Morgenstern wrote: > Peter Ford wrote: > > Merlin Morgenstern wrote: > >> Hello everybody, > >> > >> I am having trouble finding a logic for following problem: > >> > >> Should be true if: > >> page = 1 OR page = 3, but it should also be true if page = 2 OR page = 3 > >> > >> The result should never contain 1 AND 2 in the same time. > >> > >> This obviously does not work: > >> (page = 1 OR page = 3) OR (page = 2 OR page = 3) > >> > >> This also does not work: > >> (page = 1 OR page = 3 AND page != 2) OR (page = 2 OR page = 3 AND page > >> != 1) > >> > >> Has somebody an idea how to solve this? > >> > >> Thank you in advance for any help! > >> > >> Merlin > > > > > > Surely what you need is xor (exclusive-or) > > I can't believe a programmer has never heard of that! > > > > (page==1 XOR page==2) AND page==3 > > > > HEllo Peter, > > thank you for your reply. I know about XOR, but unfortunatelly I might > not know how to use it properly OR it is not aplicable on SQL. I am > trying to retrive data: > SELECT * FROM test WHERE ((page = 1 XOR page = 2) OR page = 3) > > I know this is not php, but I thought the logic should be the same in > this case?! > > Regards, Merlin > This will likely retrieve all the records in the table. Is that what your tests have shown? Thanks, Ash http://www.ashleysheridan.co.uk