On Mon, 2009-12-07 at 12:49 +0100, Merlin Morgenstern wrote:
> Ashley Sheridan wrote:
> > On Mon, 2009-12-07 at 11:52 +0100, 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
> > I thought this might work:
> > (page = 3) OR (page = 1 XOR 2)
> > But having given it more thought, I'm not so sure. I assume from your
> > example that this is MySQL code and not PHP. Having said that, how can
> > a field of one row have more than one value? Surely `page` is either
> > 1, 2 or 3, not two of them at once. How do you want your results
> > pulled? Assuming you have rows containing all three values, how do you
> > decide which of the pair of results you want?
> > Thanks,
> > Ash
> > http://www.ashleysheridan.co.uk
> You have described the problem very well. This is exactly where I can
> not find a solution.
> the page number translates to the following: 1= first page 2= following
> pages 3= all pages
> This are the options a user has while booking a product on my site. Now
> if ther is a new
> client that wants to book all pages, I need to query the table to find
> out if the spot is available.
> The spot would be full if page 1 has more results then 3 , OR all
> following pages have more then 3 results. So to find out if "all pages"
> option would be available I need to query the db to retrieve all
> results, that are (page = 3) OR (page = 1 XOR 2)
> Am I wrong?
I'm pretty confused by your logic, but I think the only way you can
achieve what you want is with multiple queries and counts.