0
A
回答
2
對於MySQL:
UPDATE B
JOIN A ON B.email = A.email
AND B.a_id = A.id
SET B.email = '';
UPDATE B
JOIN (
SELECT *
FROM B
GROUP BY email, a_id
HAVING COUNT(*) > 1
) AS dp ON B.email = dp.email
AND B.a_id = dp.a_id
AND B.id != dp.id
SET B.email = '';
1
第一種情況,當表A中存在的郵箱:
update table_b b set email = '' where (select 1 from table_a a where a.email = b.email) = 1;
接下來的情況下,當電子郵件在表B中複製時:
update table_b b set email = '' where b.id in
(select
bb.id
from table_b bb
where bb.email in (
select bbb.email,count(*)
from table_b bbb
where bbb.email = b.email
having count(*) > 1
)
limit 1
)
1
一個簡單的inner join
會做的伎倆
UPDATE TableB
SET EMAIL='' --or set this to null
FROM TableA
INNER JOIN TableB ON
TableA.id = TableB.a_id AND
TableA.email = TableB.email
何至於在同一個表,即表B更新重複我會選擇CTE
和Row_number
WITH CTE AS(
SELECT id,a_id,email,
RN = ROW_NUMBER()OVER(PARTITION BY a_id,email ORDER BY id)
FROM TableB
)
UPDATE CTE SET email='' WHERE RN > 1
相關問題
- 1. yii通過下拉列表更新clistview
- 2. OracleTransaction通過下拉列表更新Gridview
- 3. 如何通過JSON更新msDropDown列表?
- 4. 通過php表格更新SQL表格
- 5. 如何通過JSON實時更新到列表視圖
- 6. 如何通過適配器更新列表視圖項目
- 7. 通過jQuery AJAX請求更新圖片
- 8. 通過表格上傳圖片
- 9. 通過web表單更新HTML表格?
- 10. 如何通過表名更改表格
- 11. 通過PHP下載圖片
- 12. 通過webservice下載圖片
- 13. 如何通過Facebook營銷API更新輪播廣告圖片
- 14. 添加圖片到列表通過SVG
- 15. 更新一個列表視圖片段
- 16. 在片段中更新列表視圖
- 17. 通過表格更新數據庫
- 18. 通過Eclipse IDE更新了Excel表格
- 19. 通過JSTL和SQL更新HTML表格
- 20. SQL:更新表與文件夾中的圖片,通過ID#
- 21. 如何通過informatica更新單列?
- 22. 在視圖中單擊下拉列表來更新mysql表格
- 23. 通過Ajax刷新表格列
- 24. 如何通過上下移動表格行來更新行值 - jquery/Javascript
- 25. 如何通過圖像替換下拉列表圖標?
- 26. 如何更改圖片的選擇下拉列表項目
- 27. 如何使用下拉列表更改圖片?
- 28. 如何通過單選按鈕列表顯示圖片?
- 29. 如何通過下拉列表
- 30. 如何通過更新表PHP
不是我的downvote,但最有可能的是給予downvote,因爲你沒有表現出任何努力來解決你的問題。 –
請參閱https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-查詢 – Strawberry
@Strawberry downvoter顯示:-P –