我覺得自己是一位體面的SQL程序員;然而,我遇到了一個我似乎無法找到一個優雅的解決方案來解決的情況。我的數據庫中有兩個表,一個tmp_media表和一個tbInventoryMedia表。我想從tbInventoryMedia中刪除tmp_media表中不存在的所有媒體。但是,有一個明顯的列VIN--一些VIN可以具有與其他媒體相同的媒體。SQL查詢 - 需要優雅的解決方案
實施例:
tmp_media
Vin MediaId
X 20223
Y 54235
Z 20223
tbInventoryMedia
vin MediaId
X 20223
X 32131
Y 54235
Z 20223
在上面的例子中,X的VIN將被刪除,其中mediaId是34131.
最後,tmp_media不包含所有的VIN的窮舉列表,只有那些最近已經處理完畢。因此,tbInventoryMedia將會有其他媒體需要獨立。只有位於tmp_media表中的VIN才能刪除任何數據。
如果需要進一步說明,請告訴我 - 我想這很混亂。
您聲明:「tmp_media沒有包含所有VIN的詳盡列表,只包含那些最近已經處理過的列表,因此tbInventoryMedia中還有其他媒體需要單獨保留。如何區分應該刪除的媒體與當tmp_media表中缺少媒體時應該保留的媒體? –
如果媒體的VIN不在tmp_media中,則不應刪除。該系統相當複雜,我們處理大量汽車,只有一對夫婦一次更新。當他們更新時,汽車被放入tmp_media表中進行媒體處理。有時更新的汽車可能會刪除圖像,因此此過程將驗證不再與汽車綁定的圖像將從數據庫中刪除。 –