这样两张表
T_ADD (具体地址)
ADDRESS ADDRESS_CODE
北京路123号45室 001
上海路789弄01号 002D_ROAD
MC CODE
北京路 001
上海路 002现在问题是address_code目前没数据 需要根据 D_ROAD这张代码表 对应T_ADD地址表中的详细地址 更新ADDRESS_CODE的内容 该怎么写呀 前面在SQL 版提问过 发现在ORACLE里面执行会报错。
T_ADD (具体地址)
ADDRESS ADDRESS_CODE
北京路123号45室 001
上海路789弄01号 002D_ROAD
MC CODE
北京路 001
上海路 002现在问题是address_code目前没数据 需要根据 D_ROAD这张代码表 对应T_ADD地址表中的详细地址 更新ADDRESS_CODE的内容 该怎么写呀 前面在SQL 版提问过 发现在ORACLE里面执行会报错。
解决方案 »
- oracle group 计算sql
- 关于去除 部分列相同的行
- group by的问题
- 郁闷啊,竟然为空!
- Oracl里的SQL语句变成sqlserver里的SQL应该怎么做呢?
- 用java去oracle的clob数据的问题
- 问个日期转换的问题:我a表rq字段内容(DATE型)格式为:29-1月 -05,b表rq字段内容(DATE型)格式为:01/23/2005 00:00:00,我现在要比较日期
- update GW_DocTrack set dealman=dealman+'1111' 请教
- 简单问题。关于游标的问题。来着有分,帮着up同样有分。
- sqlldr中文乱码,急急急
- 关于视图的一个问题
- 怎么在导出的dmp文件中找到表空间的名称
ADDRESS_CODE = (select t2.CODE
from D_ROAD t2
having subStr(t1.ADDRESS,0,3)=t2.MC
)
where exists (select 'X' from D_ROAD t3
having subStr(t1.ADDRESS,0,3)=t3.MC)
ADDRESS ADDRESS_CODE
北京路123号45室 001
上海路789弄01号 002
D_ROAD
MC CODE
北京路 001
上海路 002
update t_add a
set a.address_code = (select code from d_road b where a.address like '%' || b.mc || '%')
set ADDRESS_CODE=
(select v.CODE from D_ROAD v where v.mc=substr(t.ADDRESS,0,3))
set a.address_code = (select code from d_road b where a.address like '%' || b.mc || '%'),大家想一想,如果原来address_code有值,如果采用这样更新会把有些值更新为NULL值,
ADDRESS ADDRESS_CODE
北京路123号45室 001
上海路789弄01号 002
D_ROAD
MC CODE
北京路 001
上海路 002
update t_add a
set a.address_code = (select code from d_road b where a.address like '%' || b.mc || '%')-----------------------
正解!