ms-access选择有问题的数据

时间:2011-05-30 21:22:08

标签: sql database ms-access

我的数据如下:

alex hub
liza fds
harry ok
lena yyy
liza ok

我想要一个sql语句,它会给我这个:

alex hub
lena yyy

我需要返回所有column1,其中column2没有相应的"ok"

请注意,如果只有一个"ok"足以不返回该数据

非常感谢你的帮助

3 个答案:

答案 0 :(得分:2)

试试这个SQL查询:

select Col1, Col2 from MyTable
where Col1 not in (
    select Col1 
    from MyTable 
    where Col2 = 'ok'
)

答案 1 :(得分:1)

LEFT JOIN到“ok”行的子查询和 WHERE(((t2.column1)Is Null))只返回那些没有“ok”行的column1值作为column2

SELECT t1.column1, t1.column2
FROM Table1 AS t1
    LEFT JOIN [
        SELECT column1, column2
        FROM Table1 WHERE column2 = "ok"]. AS t2
    ON t1.column1 = t2.column1
WHERE (((t2.column1) Is Null));

答案 2 :(得分:0)

对我来说,最简单的方法就是:

SELECT people.personname, people.status
FROM people
WHERE [people]![status]<>'ok';

有时在Access中执行答案的练习很有用。我发现我不能使用name作为列名,并且有第三条记录符合条件。

personname  status
==========  ======
alex        hub
liza        fds
lena        yyy