从五个表中选择一选



有5种类型的Web服务S1S2S3S4S5,它们将它们的日志存储在单独的表中,T1T2T3T4T5。一个服务的日志无法到达另一个服务的日志表。 有一个程序可以收集所有这些日志并为所有服务生成一个公共日志。有一个临时表Temp_Tab,它可以包含所有表中的所有日志。因此,现在在这个程序中收集所有日志写入5个单独的select,如您所知,这需要很长时间。 我想代替这 5select写 1select语句(好吧,最多 2 个(来缩短。 建议用OUTER JOIN-Ohm,但在JOIN-e中必要的"公共字段"替换在ON之后以指定关系。在表T1T2T3T4T5中,没有任何共同点,也不可能有共同点,因为有关于特定服务操作的日志。

查看选择 - 联合。您的目标 itab 当然需要所有相关字段,或者您使用 STRICT(如果您在 select 子句中指定了其他字段(或带有 @DATA(( 的内联声明。如果需要,可以使用带有 AS 的别名修改列名。

例:

SELECT a_id as id, a_name as name, a_descr as descr, a_value as value
FROM tab_a
UNION ALL
SELECT b_id as id, b_name as name, b_descr as descr, b_value as value
FROM tab_b
UNION ALL
SELECT c_id as id, c_name as name, c_descr as descr, c_value as value
FROM tab_c
INTO TABLE @lt_temp_tab.

如果它们具有相同的字段名称,则可以跳过as部分。你的文字是这样说的,你的图像没有。

相关内容

  • 没有找到相关文章

最新更新