在一个SQR中打印来自不同表的不同数据集

时间:2014-01-02 12:44:32

标签: sqr

我有一个要求,如果给出了PO_ID范围,那么我需要执行以下操作:

  1. 如果PS_DISTRIB_LINE中存在PO_ID范围内的PO_ID,则打印PO_ID和凭证ID,如果没有,则从PS_PO_HDR打印PI_ID和PO_DT。
  2. 如何实现这一目标。

    Union不工作,我无法使用中断逻辑,因为如果PS_DISTRIB_LINE中存在数据,那么我在PO_IDs下面打印PO_AMT Total的总和,但在其他情况下我不是。

1 个答案:

答案 0 :(得分:0)

在SQR中可以使用UNION,但语法很难。 您需要将UNION放在括号中,并确保在所选项目后面添加逗号。在下面的示例中,我将逗号放在a.name,a.first_name和a.last_name之后。对b.name,b.first_name和b.last_name重复此操作。

我运行这个例子,这对我有用:

begin-SELECT
employee_name.name
employee_name.first_name
employee_name.last_name

    Show 'employee_name.name: ' &employee_name.name
    Show 'employee_name.first_name: ' &employee_name.first_name
    Show 'employee_name.last_name: ' &employee_name.last_name

from
(
select
a.name,
a.first_name,
a.last_name
from ps_names a
where name_type = 'PRI'
and emplid = '000000001'
union
select
b.name,
b.first_name,
b.last_name
from ps_personal_data b
where emplid = '000000001'
) employee_name
end-SELECT