update jyb_pl a set gzdwid=(select b.zzjgid from zzjg_pl_temp b where a.gzdwmc=b.zzjgmc)
where exists(select * from zzjg_pl_temp b where a.gzdwmc=b.zzjgmc)出现‘单行子查询返回多行,如何修改呢
where exists(select * from zzjg_pl_temp b where a.gzdwmc=b.zzjgmc)出现‘单行子查询返回多行,如何修改呢
解决方案 »
- oracle 时间存储格式问题
- 数据库的“数值类型”数据的存储是使用BCD码吗?
- oracle 10g OEM 打开后输入用户名密码提示错误但在sql/plus中可以使用 ?
- 如何将MSSQL2000的SQL语句中的IF语句翻译成OracleSQL?
- 请问可以执行的sql语句的最大长度是多少?varchar2类型可设置的最大长度是多少?
- imp数据库时,没有任何提示,只是不断刷屏。新手请教。
- 刚安装完oracle8.17,如何登陆到Enterprise Mananger中
- 建立oracle索引的问题
- 客户端连接错误!急
- 请教有关用联合查询对多个表记录的统计办法
- 求一个存储过程
- 在10g中怎么找JSP主页面?
可以用distinct b.zzjgid 或max(b.zzjgid )。总之要是使获得值只有一个
一对多,改为多对一或者一对一,不然返回多个值你做个规则,应该去选哪个值,比如楼上说的max. 在SQL SERVER也是一样的.要么就是你的业务设计不太恰当.
sqlserver对于多对多的update, 默认取第一条.
where exists(select * from zzjg_pl_temp b where a.gzdwmc=b.zzjgmc)