需要用某一内表的某些字段当作查询条件时,需要用到FOR ALL ENTRIES IN。
SELECT 字段名
INTO (CORRESPONDING FIELDS OF) TABLE 放结果内表
FROM DB表
FOR ALL ENTRIES IN 查询条件内表
WHERE 条件字段 = 查询条件内表-条件字段。
字段名:FOR ALL ENTRIES IN会自动按抽取字段去重,所以此处必须将DB表的所有主键写全,否则会丢失数据。
放结果内表:当SELECT的字段有不需要存放的字段时,可用CORRESPONDING FIELDS OF
查询条件内表:查询前将该内表排序删除重复项,并且必须判断不为空。若为空,则会忽视where条件。