【发布时间】:2022-01-23 04:50:21
【问题描述】:
我正在尝试通过在 PROC SQL 中使用 WHERE 从表中过滤掉某些值。查询运行没有错误,但实际上并没有过滤掉任何内容。
ID Category Sub_Category
1 Food Vegetables
2 Food Chicken
3 Appliance Mixer
我的代码如下所示:
PROC SQL;
CREATE TABLE APPLIANCE AS
SELECT * FROM GENERAL_TABLE
WHERE Sub_Category <> "Chicken"
OR Sub_Category <> "Vegetables";
RUN;
我知道我可以将 where 语句切换为 WHERE = "Mixer" 但我想了解为什么 WHERE 没有过滤掉任何内容。
【问题讨论】:
-
我会避免在 SAS 中使用
<>作为运算符。它可能适用于 SQL 代码,但如果您在常规 SAS 代码中使用该符号,则它具有不同的含义。 MAX () 运算符返回两个值中的较高值。
标签: sas where-clause proc-sql