比如表A
task_id opeti
1
1
1
2 ceshi_a
表B
task_id opeti
1 xiugaiceshi
1 xiugaiceshi 1
1 xiugaiceshi 2
2 ceshiceshi
需要把表A中task_id = 1的opeti值設定成表B中task_id值=1的opeti的值,這個要怎么實作呢?小白一枚,望大神們不吝賜教,謝謝。
uj5u.com熱心網友回復:
按順序更新?uj5u.com熱心網友回復:
比如表Atask_id cgi opeti
1 010-010
1 010-020
1 010-010
2 011-111 ceshi_a
表B
task_id cgi opeti
1 010-010 xiugaiceshi
1 010-012 xiugaiceshi 1
1 010-010 xiugaiceshi 2
2 022-011 ceshiceshi
剛才舉得例子可能不太嚴謹,應該是三個欄位,需要是表A的task_id=1的與表A中cgi=表B中cgi對應的更新opeti的值。表A與表B是通過cgi關聯的,然后task_id =1 將表B中opeti的值添到表A中對應task_id與cgi的opeti中,謝謝版主大人。
uj5u.com熱心網友回復:
-- 看看這個能不能達到你的要求
update a
set op = (select op from b where a.id = b.id and a.cgi = b.cgi)
where exists(select * from b where a.id = b.id and a.cgi = b.cgi)
uj5u.com熱心網友回復:
提示的是“ora-01427:單行子查詢回傳多個行”uj5u.com熱心網友回復:
opeti 列的編號有什么規則?uj5u.com熱心網友回復:
opeti列內容是沒規則的uj5u.com熱心網友回復:
task_id cgi opeti1 010-010 xiugaiceshi
1 010-012 xiugaiceshi 1
1 010-010 xiugaiceshi 2
這個情況, id 相同,cgi 也相同,取哪個 op 呢?
uj5u.com熱心網友回復:
比如表Atask_id cgi opeti
1 010-010
1 010-021
1 010-011
2 011-111 ceshi_a
表B
task_id cgi opeti
1 010-010 xiugaiceshi
1 010-021 xiugaiceshi 1
1 010-011 xiugaiceshi 2
2 022-011 ceshiceshi
確認了一下,同一task_id下,cgi是不會重復的,也就是同一張表下cig是唯一的,這樣怎么實作呢?多寫版主大人了@wmxcn2000
uj5u.com熱心網友回復:
也就是比如我想把task_id=1的全部B表中opeti欄位值賦給A表對應的task_id和cgi的opeti欄位。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/115049.html
標籤:開發
