合并两个 table 具有不同列且没有空值
Merge two table with different columns without null values
再次在这里寻求帮助 - 我正在使用两个 Oracle tables
我有这个问题 (image-1)
有两个 table 有不同的列,我做了一个联合,我得到了你在图像 1 上看到的结果
这是我的查询:
(select td.DETALLE col1,
tg.FININ col2,
tg.ffinn col3,
null as col4
from table_1 tg
inner join other_table td on (tg.cod_f = td.fol and tg.prod_c = td.prod)
where UPPER(tg.sys_user) = UPPER(:APP_USER)
and td.fol = :P10_FOLLETO
and td.prod = :P10_PRODUCTO
and tg.fin = :P10_FECHA_INICIO)
union all
(select null as col1
,null as col2
,null as col3
,camp.camp_util.get_data(:P10_FOLLETO, :P10_PRODUCTO, :P10_FECHA_INICIO) as col4 -- This is a FUNCTION from another schema that will return in this case just MAD
from dual);
但我的结果是:
注意:每个查询都会 return 一行,因此我想将所有内容分组到一行中。
有人帮帮我吗?
此致
我认为你不想要 union
,而是一个 select 调用函数:
select td.DETALLE col1,
tg.FININ col2,
tg.ffinn col3,
camp.camp_util.get_data(:P10_FOLLETO, :P10_PRODUCTO, :P10_FECHA_INICIO) as col4
from table_1 tg
inner join other_table td on (tg.cod_f = td.fol and tg.prod_c = td.prod)
where UPPER(tg.sys_user) = UPPER(:APP_USER)
and td.fol = :P10_FOLLETO
and td.prod = :P10_PRODUCTO
and tg.fin = :P10_FECHA_INICIO
再次在这里寻求帮助 - 我正在使用两个 Oracle tables
我有这个问题 (image-1)
有两个 table 有不同的列,我做了一个联合,我得到了你在图像 1 上看到的结果 这是我的查询:
(select td.DETALLE col1,
tg.FININ col2,
tg.ffinn col3,
null as col4
from table_1 tg
inner join other_table td on (tg.cod_f = td.fol and tg.prod_c = td.prod)
where UPPER(tg.sys_user) = UPPER(:APP_USER)
and td.fol = :P10_FOLLETO
and td.prod = :P10_PRODUCTO
and tg.fin = :P10_FECHA_INICIO)
union all
(select null as col1
,null as col2
,null as col3
,camp.camp_util.get_data(:P10_FOLLETO, :P10_PRODUCTO, :P10_FECHA_INICIO) as col4 -- This is a FUNCTION from another schema that will return in this case just MAD
from dual);
但我的结果是:
注意:每个查询都会 return 一行,因此我想将所有内容分组到一行中。
有人帮帮我吗?
此致
我认为你不想要 union
,而是一个 select 调用函数:
select td.DETALLE col1,
tg.FININ col2,
tg.ffinn col3,
camp.camp_util.get_data(:P10_FOLLETO, :P10_PRODUCTO, :P10_FECHA_INICIO) as col4
from table_1 tg
inner join other_table td on (tg.cod_f = td.fol and tg.prod_c = td.prod)
where UPPER(tg.sys_user) = UPPER(:APP_USER)
and td.fol = :P10_FOLLETO
and td.prod = :P10_PRODUCTO
and tg.fin = :P10_FECHA_INICIO