對不起,我錯過了,並再次刪除了以前的事故問題。sql query distinct join
我有一種情況,我試圖從表1中選擇不同的值,它們是新的,並將它們存儲在表2中。問題是該表具有列「name」上的重複項,但它確實有一個鍵列「id 「,但是當然映射到同一個名字的不同id。
我在查詢想法是
INSERT INTO TABLE2
(NAME, UniqueID)
SELECT DISTINCT TABLE1.NAME, TABLE1.ID
FROM TABLE1
LEFT JOIN TABLE2 ON TABLE1.ID=TABLE2.UniqueID
WHERE TABLE2.NAME IS NULL
需要幫助的獲取查詢返回我想要的結果,現在它仍然產生重複表2中(在名稱列),這是我不希望。即使我多次運行查詢,我也希望它只追加新記錄。例如,如果兩個新記錄被添加到table1中,但其中一個名稱已經在表2中,那麼查詢只會向table2添加一條新記錄。
只是一個提示:我使用ms訪問,所以它具有嚴格的語法單查詢
編輯:
Folliwing輸入我來到這個查詢
INSERT INTO TABLE2
(NAME, UniqueID)
SELECT TABLE1.NAME, Min(TABLE1.ID)
FROM TABLE1
LEFT JOIN TABLE2 ON TABLE1.NAME=TABLE2.NAME
WHERE TABLE2.UniqueID IS NULL
Group By TABLE1.NAME;
但這些人真的在訪問不運行要分開到兩個獨立的wueries一個儲蓄者錯誤標誌,但現在我遇到了額外的問題。當我運行兩個單獨的查詢時,它第一次運行良好,但是當我運行兩次嘗試測試以查看是否有任何新記錄已添加到表1時,它會在表1中沒有新記錄時追加1條記錄,所以它會附加一個空白名稱值和一個重複的唯一ID,並且每次運行它時都會繼續執行相同的過程。
爲什麼你不斷刪除你的問題? – RedFilter 2010-08-25 13:47:29
起初它是一個意外 – Jake 2010-08-25 14:03:23
所以現在它的故意 – JeffO 2010-08-25 15:41:15