在特定日期sql server 2000上选择具有特定值的列的记录

时间:2013-08-28 19:00:04

标签: sql sql-server-2000

我有下表:

    ColA    ColB    ColC
    1       A       08/22/2013
    2       B       08/22/2013
    3       A       08/28/2013
    4       C       08/28/2013

如何选择所有记录,但ColB='A'的记录的日期早于今天的日期08/28/2013

结果应如下所示:

    ColA    ColB    ColC        
    2       B       08/22/2013
    3       A       08/28/2013
    4       C       08/28/2013

2 个答案:

答案 0 :(得分:1)

您应该能够使用带有NOT IN的WHERE过滤器来获得结果:

select cola, colb, colc
from yourtable
where cola not in (select cola
                   from yourtable
                   where colb = 'A'
                     and colc < '2013-08-28');

请参阅SQL Fiddle with Demo

答案 1 :(得分:0)

试试这个:

SELECT * 
FROM   TABLE1 
WHERE  COLB != 'A' 
        OR ( COLB = 'a' 
             AND COLC < '2013-08-28' ) 

一个工作示例位于SQL fiddle