我試圖從一個表插入不同的值到另一個。我的目標表有一個主鍵studentid
,當我執行不同的id
從源到目標加載成功。當我試圖加載一堆列從源到目標包括student_id
,我得到一個錯誤違反唯一約束。目標上只有一個約束,它是studentid
上的主鍵。oracle唯一約束
我的查詢看起來像這樣(只是一個例子)
insert into target(studentid, age, schoolyear)
select distinct id, age, 2012 from source
爲什麼上面的查詢返回在其中如下面的查詢工作完全正常
insert into target(studentid)
select distinct id from source
幫我解決這個錯誤。
謝謝你的時間。
您需要決定_which_行承擔多'id',其中如下面的第一個答案中指出,其他列_not_不同。您將需要執行一些彙總'MIN(),MAX()'等。 –
感謝您的答覆。我理解這個問題。我想要id的唯一值和其餘列的相應值。我怎樣才能做到這一點。 ? – user1751356