具有空子查询的IN的行为

  • 本文关键字:IN 查询 abap opensql
  • 更新时间 :
  • 英文 :


我想从表KNA1中选择每个客户,而表KNBK中没有任何条目。

所以我做了一个选择查询,它应该为我做这件事:

SELECT-OPTIONS: s_kn_nr FOR kna1-kunnr.
SELECT-OPTIONS: s_kn_okd FOR kna1-ktokd.
SELECT * FROM kna1
INTO TABLE @DATA(ls_kna1)
WHERE kunnr IN @s_kn_nr
AND ktokd IN @s_kn_okd
and kunnr not in ( select kunnr from knbk where kunnr in @s_kr_nr )

现在我的问题是,select查询是否以与空select选项相同的方式处理空的子select并只选择所有内容?

答案很简单:没有。

这样的子查询返回一个集合,IN在这里的函数恰好是属于集合或否的数学运算。因此,如果集合为空,则没有元素属于它。

相关内容

  • 没有找到相关文章

最新更新