我的数据如下:
alex hub
liza fds
harry ok
lena yyy
liza ok
我想要一个sql语句,它会给我这个:
alex hub
lena yyy
我需要返回所有column1,其中column2没有相应的"ok"
请注意,如果只有一个"ok"
足以不返回该数据
非常感谢你的帮助
答案 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