Du kan inte ta bort från en tabell så länge beroende poster fortfarande finns i en annan tabell. I ditt fall går beroendet så här
Transaction <- Purchase -> Item
Så du måste radera eventuella köp först innan du kan radera transaktioner.
Som ett alternativ till den tvåstegsmetoden skulle jag rekommendera att du konfigurerar en ON DELETE CASCADE
begränsning
och gå med detta:
DELETE
Transaction
WHERE
Transaction_ID IN (
SELECT
Transaction_ID
FROM
Purchase INNER JOIN Item ON Item.Item_ID = Purchase.Item_ID
WHERE
Item.Client_ID = <your Client ID here>
)
Tänk på att detta tar bort alla Transaction
(och, genom CASCADE, alla Purchase
) där det finns en beroende Item
med ett matchande Client_ID
, oavsett om det finns några andra föremål i den. Om detta inte är vad du vill, måste frågan förfinas.