我正在尝试查询表格,以便
表1 :
x y z
gg 1 E
ll 1 E
ff 2 NA
ee 2 E
rr 3 E
ww 3 NA
查询只返回y列中1和2的行,这些行在列z中没有“NA”字符串,如下所示:
x y z
gg 1 E
ll 1 E
ee 2 E
我尝试过这样的事情:
SELECT * FROM table1 WHERE (((y = 1) OR (y = 2)) AND (z <> "NA"));
我也尝试过:
SELECT * FROM table1 WHERE y IN (1,2) AND (z <> "NA");
这些都不起作用。
答案 0 :(得分:4)
尝试此SQL查询。我认为你的z列可能包含额外的空格。
SELECT * FROM Table1 AS T
WHERE T.y IN(1,2)
AND T.z NOT LIKE '%NA%'
答案 1 :(得分:2)
不是答案,只是为了测试,下面在R中工作正常。
#dummy data
table1 <- read.table(text = "
x y z
gg 1 E
ll 1 E
ff 2 NA
ee 2 E
rr 3 E
ww 3 NA", header = TRUE)
library(sqldf)
#testing
sqldf('SELECT * FROM table1 WHERE (((y = 1) OR (y = 2)) AND (z <> "NA"))')
sqldf('SELECT * FROM table1 WHERE y IN (1,2) AND (z <> "NA")')
#output
# x y z
# 1 gg 1 E
# 2 ll 1 E
# 3 ee 2 E