正如你们中的许多人已经知道的,ABAP现在支持UNION命令。UNION是一个SQL命令,用于将两个单独查询的结果合并到一个数据集中。
这是一个来自虚拟数据库表Z1:
的示例数据集,这是UNION命令存在之前另一个虚拟数据库表Z2:
的示例数据集,我们必须运行两个不同的查询才能将这些数据合并到一个内部表中。
现在,软件企业条件,UNION允许我们合并这些查询。
这里有一个问题:如果执行上面的UNION查询,淘客放单,我们会得到以下结果集:
您注意到记录"002"只出现一次吗?尽管在Z1和Z2中都存在,结果集包含一个单数"002"条目。
这是联合查询的捕获。它们可以用两种逻辑方法来处理重复记录。
UNION DISTINCT是默认模式,它将从第二次查询中消除重复记录。这类似于selectdistinct或FOR ALL条目的逻辑。这就是为什么第二个表中的"002"在resultset中丢失的原因。
UNION ALL需要显式指定,并且它允许来自第二个查询的重复项。因此,让我们相应地修改我们的示例查询。
这次,我们的记录集将包含来自Z2的重复记录。
每种方法都有其时间和地点。如果我要寻找一个唯一的值列表,比如客户和供应商的税号组合列表,我会选择UNION DISTINCT。但是,免费企业管理软件,如果我查询事务,云服务器好吗,比如BSIS/BSAS,国内大数据公司排名,我会选择unionall,因为我可能不想错过任何行项目。