나는 괜찮은 SQL 프로그래머라고 생각합니다. 그러나 나는 해결할 수있는 우아한 해결책을 찾을 수없는 상황에 처했습니다. 내 데이터베이스에는 두 개의 테이블 tmp_media 테이블과 tbInventoryMedia 테이블이 있습니다. tmp_media 테이블에없는 tbInventoryMedia에서 모든 미디어를 삭제하려고합니다. 그러나 VIN이라는 별개의 열이 있습니다. 일부 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의 자동차 등록은 mediaId가 34131.
이마지막으로, tmp_media이 만, 모든 빈스의 완전한 목록을 포함하지 않는 곳 삭제 될 것이라고 최근에 처리되었습니다. 따라서 tbInventoryMedia에는 다른 미디어가 남겨져 있어야합니다. tmp_media 테이블에있는 VIN 만 데이터를 제거해야합니다.
추가 설명이 필요하면 알려주세요. 매우 혼란 스럽습니다.
"tmp_media에는 모든 VIN의 목록이 포함되어 있지 않습니다. 최근 처리 된 목록 만 포함되어 있으므로 tbInventoryMedia에 다른 미디어가 있어야합니다." 두 미디어 모두 tmp_media 테이블에서 누락 될 때 삭제해야 할 미디어와 삭제해야 할 미디어를 어떻게 구분할 것입니까? –
tmp_media에없는 VIN이있는 미디어는 삭제하면 안됩니다. 이 시스템은 상당히 복잡하고 대량의 자동차를 처리하며 한 번에 한 두 사람 만 업데이트됩니다. 업데이트가 완료되면 자동차는 미디어 처리를 위해 tmp_media 테이블에 저장됩니다. 가끔 업데이트 된 차량에 이미지가 제거되어 더 이상 자동차에 얽매이지 않은 이미지가 데이터베이스에서 제거되었는지 확인합니다. –