Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么要使用';NA';=是否有可能在SAS中返回一组值?_Sas - Fatal编程技术网

为什么要使用';NA';=是否有可能在SAS中返回一组值?

为什么要使用';NA';=是否有可能在SAS中返回一组值?,sas,Sas,我有一个关于以下代码的快速问题。为什么我们可以对子查询使用'NA'=?我的意思是,子查询可能返回一组值,而不是单个值,对吗?谁能告诉我原因吗?非常感谢您的时间和关注 proc sql; select lastname, first name from sasuser.staffmaster where 'NA' = (select jobcategory from sasuser.supervisors where staffmast

我有一个关于以下代码的快速问题。为什么我们可以对子查询使用
'NA'=
?我的意思是,子查询可能返回一组值,而不是单个值,对吗?谁能告诉我原因吗?非常感谢您的时间和关注

proc sql;
   select lastname, first name
   from sasuser.staffmaster
   where 'NA' = 
      (select jobcategory
       from sasuser.supervisors 
       where staffmaster.empid = supervisors.empid);
quit;

再次感谢。

假设
EMPID
是一个员工的唯一ID(我希望是?),并且每个员工只有一个主管,则该查询每次应解析为一行。(当然,从外部查询返回的每一行都有一行,这一点很重要。将其视为一个联接—基本上就是这样,一个措辞有点奇怪的联接,SQL解析器通常会将其转换为实际联接。)


但是,一般来说,它可以解析为多行。SAS将允许您执行查询,如果它只返回一行,它就可以工作;如果返回2+行,则失败。正如昆廷在评论中指出的,这是一个。

你的问题标题与你的问题不匹配?这是一个“相关子查询”,对吗?对于OP来说,这可能是一个有用的术语。我总是觉得很难读。