Vous ne pouvez pas supprimer d'une table tant que des enregistrements dépendants existent toujours dans une autre table. Dans votre cas, la dépendance va comme ceci
Transaction <- Purchase -> Item
Vous devez donc d'abord supprimer tous les achats avant de pouvoir supprimer les transactions.
Comme alternative à cette approche en deux étapes, je recommanderais de configurer un ON DELETE CASCADE
contrainte
et allez avec ceci :
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>
)
Attention, cela supprime toute Transaction
(et, via CASCADE, tout Purchase
) où il y a un Item
dépendant avec un Client_ID
correspondant , qu'il y ait ou non d'autres autres articles dedans. Si ce n'est pas ce que vous voulez, la question doit être affinée.