我有表名emp
3列empid
,datof birth
,doj
SQL查詢幫助我正確的更新語句
有一個另一個表test
,它有2列empid
date of birth
。這兩個表中的員工ID是相同的。
我的要求是在emp表中出生日期(DOB)列一些員工是誰巡航能力日期'01/05/2011' 已經通過在表中的DOB 2(測試)
我需要更新更新聲明。
我加入我得到了一些記錄,現在我需要更換員工在表1 DOB從表2(試驗)同一名員工的日期DOB查詢
我有表名emp
3列empid
,datof birth
,doj
SQL查詢幫助我正確的更新語句
有一個另一個表test
,它有2列empid
date of birth
。這兩個表中的員工ID是相同的。
我的要求是在emp表中出生日期(DOB)列一些員工是誰巡航能力日期'01/05/2011' 已經通過在表中的DOB 2(測試)
我需要更新更新聲明。
我加入我得到了一些記錄,現在我需要更換員工在表1 DOB從表2(試驗)同一名員工的日期DOB查詢
Oracle不直接與UPDATE
聲明支持JOIN
查詢.. 。
一種解決方法是這樣的:
UPDATE
(SELECT emp.dob AS emp_dob, test.dob AS test_dob
FROM emp
INNER JOIN test
ON emp.empid = test.empid
) tbl
SET tbl.emp_dob = tbl.test_dob
對不起兄弟它不工作......它拋出一個錯誤............. ....... ORA-01779:無法修改映射到非密鑰保存表的列 – sai 2013-05-12 11:35:03
empid是唯一的嗎?如果沒有,請添加唯一約束,以確保不會有模棱兩可的行。 – 2013-05-12 11:42:55
使測試表(table2)的唯一性... – 2013-05-12 11:44:59
顯示你的連接查詢... – 2013-05-12 10:51:25
多少次,你想這個回答? http://stackoverflow.com/questions/16505612/update-query-resulting-wrongly/16505716#16505716 – 2013-05-12 11:42:53