[thelist] SQL query question about AND OR and date ranges

Steve Cook steve.cook at evitbe.com
Thu Sep 5 09:42:10 CDT 2002


Hi Jay!

It looks to me like you need some brackets.

mysql> SELECT cdr.discn_dt, COUNT(cdr.ani) AS quantity, SUM(cdr.calldur/60)
AS minutes
    -> FROM tblCDR cdr LEFT OUTER JOIN tblCDRExempt e
    -> ON cdr.ani = e.ExemptCDR
    -> WHERE e.ExemptCDR IS NULL
    -> AND cdr.discn_dt BETWEEN '2002-07-01' AND '2002-07-30'
    -> AND (cdr.dialedno LIKE '800%'
    -> OR cdr.dialedno LIKE '866%')
    -> GROUP BY cdr.discn_dt;


Your original example was having the following effect:

mysql> SELECT cdr.discn_dt, COUNT(cdr.ani) AS quantity, SUM(cdr.calldur/60)
AS minutes
    -> FROM tblCDR cdr LEFT OUTER JOIN tblCDRExempt e
    -> ON cdr.ani = e.ExemptCDR
    -> WHERE (e.ExemptCDR IS NULL
    -> AND cdr.discn_dt BETWEEN '2002-07-01' AND '2002-07-30'
    -> AND cdr.dialedno LIKE '800%')
    -> OR (cdr.dialedno LIKE '866%')
    -> GROUP BY cdr.discn_dt;

That *should* do the trick I think. Let us know if it was something else.
.steve


-------------------------------------
 Cookstour - http://www.cookstour.org
-------------------------------------



More information about the thelist mailing list