Je travaille avec des données assez sensibles, je veux donc être absolument sûr que je le fais correctement.
J'essaie de supprimer les rangées d'une table associée à une autre table p> Le seul moyen d'associer la table est de rejoindre deux autres tables ... p>
Voici la requête exacte: P>
DELETE tt.Transaction_Amount, tt.Transaction_ID FROM ItemTracker_dbo.Transaction_Type tt JOIN ItemTracker_dbo.Transaction t ON tt.Transaction_ID = t.Transaction_ID JOIN ItemTracker_dbo.Purchase p ON p.Transaction_ID = tt.Transaction_ID JOIN ItemTracker_dbo.Item i ON i.Item_ID = p.Item_ID WHERE i.Client_ID = 1
4 Réponses :
Vous devez le composer initialement comme une requête pour renvoyer les rangées d'intérêt. Une fois que tout est tout débigué, convertissez-le en une suppression. P>
Ne pensez pas que cela fonctionnera - vérifiez ma réponse à votre commentaire ci-dessus.
Vous devez supprimer des lignes de TT code>, pas des colonnes individuelles:
Vous devez spécifier les tables à supprimer, avec des noms ou des alias, entre Supprimer code> et
à partir de code> dans une suppression multi-table.
@ md5sum: c'est pour les suppresses multi-table, mais je ne sais pas non plus si cela fait un diff dans cet exemple
@Davidm Great Réponse et commentaire, a résolu mon problème presque 3 ans plus tard =)
@Windle - Bien, j'adore quand une vieille réponse aide toujours les gens à sortir.
Vérifiez avec Sélectionnez la requête, puis avant d'exécuter Supprimer la requête sur les données critiques, obtenez une sauvegarde de cette table. si simple que si tout se passe mal, alors vous pouvez au moins sauvegarder. P>
Vous ne semblez pas utiliser la table de transaction que vous avez rejoint ailleurs dans votre requête. Est-ce intentionnel?
Assurez-vous d'avoir sauvegardé votre donnée / base de données avant de faire une suppression.
Transaction_type est une table? On dirait que vous essayez de supprimer 2 colonnes d'une table plutôt que de rangées ...