[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