我有一个包含4列的数据库,DOC_ID,DOC_CODE,ORIG_DOC_ID和ITEM_ID。 DOC_CODE是I或B,每个I DOC_ID具有显示为ORIG_DOC_ID的对应B DOC_ID。例如:
-----------------------------------------------------------------
| DOC_ID | ORIG_DOC_ID | DOC_CODE | ITEM_ID |
-----------------------------------------------------------------
| 33456 | 44567 | I | NULL |
| 44567 | NULL | B | 254 |
| 45785 | 67584 | I | NULL |
| 67584 | NULL | B | 234 |
-----------------------------------------------------------------
我想运行一个UPDATE脚本,该脚本从DOC_IDs中获取带有DOC_CODE B的ITEM_ID,并使用DOC_CODE I将它们插入到相应DOC_ID中的ITEM_ID列中。因此,在脚本之后的表格如下所示:
-----------------------------------------------------------------
| DOC_ID | ORIG_DOC_ID | DOC_CODE | ITEM_ID |
-----------------------------------------------------------------
| 33456 | 44567 | I | 254 |
| 44567 | NULL | B | 254 |
| 45785 | 67584 | I | 234 |
| 67584 | NULL | B | 234 |
-----------------------------------------------------------------
任何建议都将不胜感激!谢谢!
答案 0 :(得分:1)
试试这个:
update TableOne set item_id = xx.Item_id
from
(
select doc_id,item_id
from TableOne
where Doc_Code='B'
) xx where TableOne.Orig_doc_id=xx.doc_id