Try grouping your WHERE clauses with parentheses like so:

select * FROM OrderTable WHERE ( submitted=1 AND
dateinserted>='1036386000' AND dateinserted<='1036502796' AND
order_status='Shipped' ) OR order_status='Not Shipped'

I can never remember whether SQL is left-to-right, right-to-left, or some other deviant. Using parens is a sure way to guarantee that your statements are processed in the order you desire.

--Dave

Aaron Wolski wrote:
Hi All,
I have a query like:
select * FROM OrderTable WHERE submitted=1 AND
dateinserted>='1036386000' AND dateinserted<='1036502796' AND
order_status='Shipped' OR order_status='Not Shipped'
Now.. if I omit the "AND order_status='Shipped' OR order_status='Not
Shipped'" part the query works fine and only returns 2 results (as
expected). However, with the inclusion of the previous I get all the
results (currently 8) returned.
It seems to be ignoring everything before "AND order_status='Shipped' OR
order_status='Not Shipped'".
Any clues?
Much thanks!
Aaron




--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to