a表 b表
id name id_number user_name
update a set NAME = (select USER_NAME from b where id_number in (select id from a where length(id)=5 and id like '6%')) 報錯ORA-01427 單行子查詢回傳多個行 求大佬解答
uj5u.com熱心網友回復:
update a set NAME = (select USER_NAME from b where id_number in (select id from a where length(id)=5 and id like '6%'))這個username 出現了多行資料,你要用哪一個?
uj5u.com熱心網友回復:
(select USER_NAME from b where id_number in (select id from a where length(id)=5 and id like '6%')) 查詢結果 USER_NAME存在多條記錄,根據業務需要先處理這條sql,保證USER_NAME不存在重復uj5u.com熱心網友回復:
先看看id對應的name在表B是不是有唯一值,不是唯一值還要添加條件篩選下select (select USER_NAME from b where a.id=b.id_number),A.ID,A.NAME
from a where length(id)=5 and id like '6%'
update a set NAME =(select USER_NAME from b where a.id=b.id_number)
from a where length(id)=5 and id like '6%'
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/14666.html
標籤:基礎和管理
上一篇:我想查詢一列有沒有特定的某些值
