我試圖形成檢查重複的用戶ID WITHIN TABLE1和TABLE2 SQL語句(通過加入表1和表2一起發現重複的用戶id不應該被記錄)SQL檢查重複的用戶ID
下面是我的表信息,並且我已經實現當前檢查:
表1:用戶標識,用戶名。
表2:用戶名,狀態。
表3:用戶名,用戶名,問題
目前我只有一臺符合以上3個檢查3 SELECT語句並將結果插入到表3:
1.
Insert in to Table3(userid,issue)
SELECT t1.userid,'check no.1'
FROM table1 t1
FULL OUTER JOIN table2 t2 ON t1.userid = t2.userid
where t1.userid not null and t2.userid is null
2.
Insert in to Table3(userid,issue)
SELECT t1.userid,'check no.2'
FROM table1 t1
inner JOIN table2 t2 ON t1.userid = t2.userid
where t2.status = 'DELETE'
3.
Insert in to Table3(userid,issue)
SELECT t2.userid,'check no.3'
FROM table2 t2
right outer JOIN table2 t2 ON t1.userid = t2.userid
where t2.status <> 'DELETE' and t1.userid is null
現在,我想要一個第四SQL查詢,它檢查重複用戶ID在表1和表2自己內部,不是通過比較2個表在一起,而是每個表單獨。
如果發現任何重複,插入記錄到表3與
ISSUE = '在發現表1重複的用戶ID',和
ISSUE =「重複的用戶ID發現在表2'
謝謝你們。
這聽起來像你的第四個查詢應該非常像第二個,只是沒有「where」子句 - 不適合你嗎? –
在我看來,你需要在單個表中找到重複的用戶ID,例如Table1中有兩個UserID值爲1的值?這些查詢是可能的,但這種約束可以通過主鍵/唯一索引更好地解決。 – SWeko
嗨Jon Skeet,我發現只有在每個* Table1 *和* Table2 *本身內發現重複記錄時插入記錄的sql查詢。因此,這些問題將是'Table1中發現的重複記錄'和'Table2中發現的重複記錄'。謝謝 – gymcode