У меня есть таблицы ниже (таблица 1 - это базовая таблица), и мне нужно получить новое поле "catid" и "origid".«Catid» - это просто конкатенация (id и nv), но origid получается путем проверки того, присутствуют ли в таблице 1 (sid или sid2 или sid3 или sid4) из таблицы 2.Если они присутствуют, просто назначьте им "catid" из таблицы 1
ЕСТЬ Таблица 1:
id nv sid sid2 sid3 sid4
---------------------------------------
1 a 11 A1 B1 C1
2 b 22 A2 B2 (null)
3 c 33 A3 B3 C3
Таблица 2:
id nv sid sid2 sid3 sid4
---------------------------------------
4 x 11 (null) B1 C1
5 y (null) A2 B2 (null)
6 z 33 A3 (null) C3
ХОЧУ Таблица 3:
id nv sid sid2 sid3 sid4 catid origid
--------------------------------------------------
1 a 11 A1 B1 C1 1a 1a
2 b 22 A2 B2 (null) 2b 2b
3 c 33 A3 B3 C3 3c 3c
4 x 11 (null) B1 C1 4x 1a
5 y (null) A2 B2 (null) 5y 2b
6 z 33 A3 (null) C3 6z 3c
Таблица 1
create table table1 (
id number,
nv varchar2(2)
sid varchar2(3),
sid2 varchar2(3),
sid3 varchar2(3),
sid4 varchar2(3)
);
Table 2
create table table2 (
id number,
nv varchar2(2),
sid varchar2(3),
sid2 varchar2(3),
sid3 varchar2(3),
sid4 varchar2(3)
);
insert into table1 values(1, 'a', '11','A1','B1','C1');
insert into table1 values(2, 'b', '22','A2','B2','');
insert into table1 values(3, 'c', '33','A3','B3','C3');
insert into table2 values(4, 'x', '11','','B1','C1');
insert into table2 values(5, 'y', '','A2','B2','');
insert into table2 values(6, 'z', '33','A3','','C3');
Спасибо