RE: someone double-check me on this sql
Date: Thu, 28 Jun 2012 21:40:54 -0500
Message-ID: <C5533BD628A9524496D63801704AE56D75B2BA0322_at_SPOBMEXC14.adprod.directory>
Oracle 10.2.0.4
Well, this gives me the right results but I don't understand why...
(change the AND to an OR)
select
tm.month, tm.year, count(*)
from img.ton_miles tm
where (tm.month != 5 OR tm.year != 2012)
group by tm.month, tm.year
order by 1,2
Chris Taylor
"Quality is never an accident; it is always the result of intelligent effort."
-- John Ruskin (English Writer 1819-1900)
Any views and/or opinions expressed herein are my own and do not necessarily reflect the views of Ingram Industries, its affiliates, its subsidiaries or its employees.
-----Original Message-----
From: oracle-l-bounce_at_freelists.org [mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Taylor, Chris David
Sent: Thursday, June 28, 2012 9:35 PM
To: 'oracle-l_at_freelists.org'
Subject: someone double-check me on this sql
I'm a bit fuzzy at the moment due to pain meds after a minor surgery so I'm hoping someone can spot my error (if I have an error)
Table has months, years and 'x' number of rows for each
The table has Years 2011 and 2012
In 2011, it has months 1-12
And in 2012 it has months 1-5
I run this:
Select month, year, count(*) -- month, and year are actual column names From some_table Where (month != 5 and year != 2012) Group by month, year /
The data set I get is Months 6-12 for 2011 *ONLY*
Shouldn't that query *ONLY* exclude MONTH=5 and YEAR 12 together? (instead of ALL 2012 and ALL 5s?)
Chris Taylor
"Quality is never an accident; it is always the result of intelligent effort."
-- John Ruskin (English Writer 1819-1900)
Any views and/or opinions expressed herein are my own and do not necessarily reflect the views of Ingram Industries, its affiliates, its subsidiaries or its employees.
-- http://www.freelists.org/webpage/oracle-l -- http://www.freelists.org/webpage/oracle-lReceived on Thu Jun 28 2012 - 21:40:54 CDT