表1列之前,現有行:檢查做插入
clinic_code,schedule_date,schedule_time,SOURCE_ID
表2列:
clinic_code,schedule_date,schedule_time
有一個存儲程序執行:
1.刪除Table1中的所有記錄,其中clinic_code ='ABC'AND schedule_date = xyz 2.從table2中插入所有記錄,其中table2.clinic_code ='ABC'AND table2.schedule_date = xyz into table1。
我想在步驟2中進行更改。
* 2。從table2插入所有記錄,其中table2.clinic_code ='ABC'AND table2.schedule_date = xyz,但不要覆蓋table1中source_id = 2的那些行。
下面是步驟2中的原始插入語句:
INSERT INTO table1 (col1, col2, col3)
SELECT table2.col1, table3.col2, table2.col3
FROM table2
INNER JOIN table3 ON table2.col3 = table3.col5 AND etc...
表名,並附加列已經離開了,如果這將是有幫助的,我可以把列的確切數目。
但是你沒有使用table1插入行,只是table2和table3。你不是說你不想插入table2.col3 = 2的行嗎? – Lamak 2011-03-10 20:47:38
不。表1和表2非常相似(但不完全),我也不重複,所以如果Table1.col3 = 2中有一行,我不希望插入該行,其餘的是。希望有幫助,謝謝! – russds 2011-03-10 21:24:15
我必須說這沒有任何意義。你的例子正確嗎?如果在table1中有一行col3等於值2,則根本不會執行任何插入操作,因爲它總是有一行,其中table1 col3爲2.是否存在關於t1.col1 = t2.col1和/或t1.col2 = t3.col2(如你在這裏的商業密鑰)? – cairnz 2011-03-10 22:35:04