U kunt niet uit een tabel verwijderen zolang er nog afhankelijke records in een andere tabel bestaan. In jouw geval gaat de afhankelijkheid als volgt
Transaction <- Purchase -> Item
Je moet dus eerst alle aankopen verwijderen voordat je transacties kunt verwijderen.
Als alternatief voor die tweestapsbenadering raad ik aan om een ON DELETE CASCADE
beperking
en ga hiermee akkoord:
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>
)
Pas op dat hiermee elke Transaction
. wordt verwijderd (en, via CASCADE, elke Purchase
) waar sprake is van een afhankelijk Item
met een overeenkomende Client_ID
, ongeacht of er andere . zijn artikelen erin. Als dit niet is wat je wilt, moet de vraag worden verfijnd.