[SQL ] Update中SET的问题

楼主: shadow0828 (Vugtis Of Shadow)   2014-07-30 10:20:59
(针对 SQL 语言的问题,用这个标题。请用 Ctrl+Y 砍掉这行)
数据库名称:MS-SQL
数据库版本:2012
内容/问题描述:
是这样的,
TABLE A Table B Table C
_Id Weapon _Id _MasterId Weapon WeaponX _Id WeaponX WeaponY
1 Sword 1 1 Sword 1 D Leyva Sword
| | 2 | | 2 S of Amu Sword
| | 3 | |
| | 5000 500 Sword
500 Sword
A和B为关联 (B._MasterId = A._Id)
小弟已经有成功用语法将TableA的资料用Cursor-FETCH的方式Insert到TableB
现在小弟希望把C.WeaponX的资料Update到B.WeaponX
已经试着用过子查询方式来处理,但是查回项目因为不只一个
直觉写法是
UPDATE TABLE B
SET WeaponX = (SELECT WeaponX FROM TableC)
WHERE WeaponX = TableC.WeaponY
SET修改成TableC.WeaponX的话只会出现第一笔资料...
看过网络相关的部份似乎没有相似的解答(几乎都只有SET = 一值)
还望请先进们不吝赐教
作者: Ammenze (蓝天白云)   2014-07-30 13:29:00
你的Table C必须要有个字段对应到Table A or B才行
作者: bohei (run and fall)   2014-07-30 14:44:00
Table B 500笔 Table C 2笔?
作者: Ammenze (蓝天白云)   2014-07-30 23:13:00
Update TableB Set WeaponX=TableC.weaponX From TableBJoin TableC ON TableB.Weapon=TableC.WeaponY 试试
作者: rockchangnew (rock)   2014-08-03 19:42:00
楼上正解
楼主: shadow0828 (Vugtis Of Shadow)   2014-08-07 20:21:00
感谢先进们不吝赐教 受教了qq
作者: bohei (run and fall)   2014-08-07 20:30:00
所以问题解决了吗? 请问最后是使用什么方法呢?
楼主: shadow0828 (Vugtis Of Shadow)   2014-08-20 11:59:00
感谢不吝次较,最后是用了A大的指令去下qq

Links booklink

Contact Us: admin [ a t ] ucptt.com