Re: SQL syntax
| From: | Frank Flynn | Date: | Tue, 15 Jan 2013 18:16:52 +0000 |
| Subject: | Re: SQL syntax | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-48648@lists.php.net to get a copy of this message | ||
> Or is there a better way to check multiple options against an enum inside your select
> statement?
IN
for example: orderstatus IN ( 'Cancelled', 'New', 'Denied',
'Expired')
However this is not exactly what you are doing. You want different orderdate > $yesterday
depending on the orderstatus. A better way might be:
$sql = "SELECT orderid
FROM ORDERS_TABLE
WHERE orderstatus = 'Cancelled'
OR ( orderstatus IN ('New', 'Denied', 'Expired') AND
orderdate < '".mysqli_real_escape_string($yesterday)."')"
> Reason I am doing this is to avoid having to do...
>
> $sql = "SELECT orderid
> FROM ORDERS_TABLE
> WHERE orderstatus = 'Cancelled' OR (orderstatus = 'New' AND
> orderdate < '".mysqli_real_escape_string($yesterday)."') OR (orderstatus =
> 'Denied' AND orderdate <
> '".mysqli_real_escape_string($yesterday)."') OR (orderstatus =
> 'Expired' AND orderdate <
> '".mysqli_real_escape_string($yesterday)."') .... etc";
>
> TIA,
>
> Karl DeSaulniers
> Design Drumm
> http://designdrumm.com