我有一个名为excel
的表,其中包含3列,name
,id
和full_name
。 name
部分是我唯一拥有的部分,我需要填写id
和full_name
。包含数据的另一个表名为tim_pismena
,有两列我需要的id
和pismeno_name
(实际名称并不重要,但为了清楚起见,我正在编写它们)。在pseudooracle代码:)中,从第二个表中获取值的select将完成如下:
SELECT tp.id, tp.pismeno_name
FROM tim_pismena tp
WHERE upper(tp.pismeno_name) LIKE IN upper('%(SELECT name FROM excel)%')
当与插入一起使用时,最终结果应该类似于
name id full_name
Happy Joe 55 Very fun place Happy Joe, isn't it?
答案 0 :(得分:2)
使用合并声明
1 MERGE
2 INTO excel tgt
3 USING tim_pismenae src
4 ON ( upper(src.naziv_pismena) LIKE '%'||upper(tgt.ime)||'%')
5 WHEN MATCHED
6 THEN
7 UPDATE
8 SET tgt.id = src.id
9 , tgt.full_name = src.naziv_pismena
10 WHEN NOT MATCHED
11 THEN
12 INSERT ( tgt.name
13 , tgt.id
14 , tgt.full_name )
15 VALUES ( src.naziv_pismena
16 , src.id
17 , src.naziv_pismena )
18 WHERE (1 <> 1);