Re: Idea as to why this query won't work as expected?
| From: | Dave Smith | Date: | Tue, 05 Nov 2002 14:18:16 +0000 |
| Subject: | Re: Idea as to why this query won't work as expected? | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-22989@lists.php.net to get a copy of this message | ||
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