更新一个表中的数据来源于另一个表中数据,如何写? update table1 set name=(select from table2 where table1.id=table2.id) where exists (select 1 from table2 where table1.id=table2.id); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 to :ORARichard(没钱的日子好难过啊) 非常感谢你的答复,果然高人.但是我有一点不明白的是: select 1 from table2 where table1.id=table2.id 这句是个什么用法呀? 不是很理解,为什么select 后边是个1,如果改为2又代表什么呢? 谢谢:) 1是逻辑值,其实只判断真假值,一般你写成exists (select * from table2 where table1.id=table2.id);就可以了 可以找一写资料看看,就是关于select语句的,安装一个第三方的数据库软件,可以方便地调用oracle数据库,可以对各种select语句进行测试,多用几次就知道是什么意思了。 哦,谢谢楼上的,偶明白了,select测试到是可以,问题是根本想不出来那种写法,自然测试就谈不上的啦.不过我相信过一阶段我就不会再问这么低级的问题啦. 哈哈,天天快乐:) 也可以这样update (select ID,Mark from table1) a,(select ID,Name from table1) bset a.Mark=b.Namewhere a.ID=b.ID to :luhualing(卢华令) 你的那种写法我试过了.报错哦.说SQL语句错误. 根据名字和日期分组统计,求高手观望!!! SQL语句求优化 刚从SQL2005来到ORACLE,先探探深浅 vc如何访问64位oracle? 求一SQL语句 oracle 如果判断一个Varchar字段是否可转换为number数字类型 已知一个如期,如何取得最近的星期三 关于oracle的sequence问题 isnull在oracle中对应的函数是什么? oracle的多表关联查询语句转换成sqlserver的语句,求教大神啊! 求教“无法分配 4096 字节的共享内存”问题出现后增加共享池的大小后仍然出现该问题? oracle数据库密码突然失效,如何找回呀?急!十分感谢!
to :ORARichard(没钱的日子好难过啊) 非常感谢你的答复,果然高人.但是我有一点不明白的是:
select 1 from table2 where table1.id=table2.id 这句是个什么用法呀?
不是很理解,为什么select 后边是个1,如果改为2又代表什么呢?
谢谢:)
哦,谢谢楼上的,偶明白了,select测试到是可以,问题是根本想不出来那种写法,自然测试就谈不上的啦.不过我相信过一阶段我就不会再问这么低级的问题啦.
哈哈,天天快乐:)
update (select ID,Mark from table1) a,(select ID,Name from table1) b
set a.Mark=b.Name
where a.ID=b.ID
to :luhualing(卢华令)
你的那种写法我试过了.报错哦.说SQL语句错误.