相同的条件给出不同的结果

问题描述 投票:0回答:1

为什么这两个查询没有给出相同的结果?

PROC SQL;
CREATE TABLE NAME_MATCHING AS
SELECT t1.\*
FROM WORK.table1 t1
WHERE t1.names contains name1 
   OR t1.names contains name2 
   OR t1.names contains name3
   OR t1.names contains name4
   OR ...
 ;
QUIT;

还有

PROC SQL;
CREATE TABLE NAME_MATCHING AS
SELECT t1.\*, t2.\*
FROM WORK.table1 t1 , WORK.table2 t2
WHERE t1.names contains t2.names
 ;

QUIT;

其中 t2.names 只是包含 name1、name2、name3 等的列...

我尝试使用索引函数而不是“包含”,但它仍然给出不同的结果,而且我不知道我没有得到什么,也许它是显而易见的。

indexing sas contains proc-sql
1个回答
0
投票

尝试使用第二个查询

where
t1.names contains trim(t2.names)
© www.soinside.com 2019 - 2024. All rights reserved.