簡體   English   中英

從相應表中刪除記錄

[英]Delete records from corresponding table

我在數據庫中有兩個表,如屏幕截圖所示... 在此處輸入圖片說明

請注意,第二張表中的LicenceType表現為GroupId,以便對記錄組進行分類。

根據業務邏輯(客戶的要求),某些記錄將保存在tbCompanyAgent中,如第一張表所示。

現在,如果我們根據LicenceType(組ID)從tbLicence中刪除數據,那么所有相應的數據都應從tbCompanyAghent中刪除。

為此,我在下面編寫了查詢

DELETE FROM tbLicence WHERE LicenceType = @LicenceType

DELETE FROM tbCompanyAgent

SELECT * FROM tbCompanyAgent INNER JOIN tbLicence ON tbCompanyAgent.LicenceNumber = tbLicence.LicenceNumber
    OR tbCompanyAgent.LicenceNumber = tbLicence.StateIssuedLicenseNumber
    OR tbLicence.LicenceType = @LicenceType

但它沒有按要求執行。 請幫忙 !!!

      Delete from tbCompanyAgent  
      where LicenceNumber in (select distinct LicenceNumber 
      from tbLicence where LicenceType= @LicenceType)          

      Delete from tbLicence where LicenceType = @LicenceType 

為了避免子查詢,您可以嘗試一下嗎

delete a from tblCompanyAgent a 
inner join tblLicence b on a.LicenceNumber = b.LicenceNumber 
where b.LicenceType = @licenceType

暫無
暫無

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

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