簡體   English   中英

如何根據多個列和條件對記錄進行排序和刪除?

[英]How do I sort and delete records based on multiple columns and conditions?

我有一個SQL數據庫,該數據庫接收工作流中的項目,然后在它們移至下一個位置時添加新的記錄(非常糟糕的設計,我知道...我沒有做到)。 但例如:

ID | 工作機會 位置

1 | 福特| 計費

2 | 福特|

3 | 福特| 交付

4 | 道奇| 有序

5 | 雪佛蘭| 有序

因此,對於此示例,我想搜索福特將匹配的“已交付” LOCATION的任何記錄,然后刪除喬布斯是福特但未“交付” LOCATION的所有其他記錄。

由於其設置方式,該數據庫中有93,000條記錄。 因此,我正在嘗試清除此問題,以希望加快前員工為我現在工作的公司編寫的自定義應用程序的速度。

您可以使用多表DELETE語法執行自連接:

DELETE a
FROM   myTable a JOIN myTable b USING (job)
WHERE  b.location  = 'delivered'
   AND a.location != 'delivered'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM