Conditional OR
I have a table with 4 fields, Name, Status, Start, End. Like below....
Name | Status | Start | End
Fred | InProgress | 05-31-2008 | 06-30-2008
Wilma | InProgress | 05-31-2008 | 06-30-2008
Barney | Live | 05-31-2008 | 06-30-2008
Betty | Ordered | 05-31-2008 | 06-30-2008
Dino | Dead | 05-31-2008 | 06-30-2008
etc... etc...
What I need to do is retrieve the data that matches a status of
InProgress, Live and Ordered.
This works ok of course..
SELECT * FROM table
WHERE Status = 'Live'
OR Status = 'Ordered'
OR Status = 'InProgress'
What I need to do is to modify the InProgress to only return if the
Start is >=NOW() and End is >= Start
I'm on MySQL 4. I have tried..
SELECT * FROM table
WHERE Status = 'Live'
OR Status = 'Ordered'
OR IF(Status = 'InProgress' && Start >= NOW() && End >= Start)
This croaks on me. Any ideas where this query might be wrong?
Many thanks in advance!
JC
|