PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Requete SQL DELETE
Requete SQL DELETE
Débuté par Louis, 30 avr. 2006 17:22 - 3 réponses
Posté le 30 avril 2006 - 17:22
Bonjour

J'ai un fichier "Messages" avec une clé unique ' ID_Message '
et un autre "MessagesLog" avec une clé multi 'ID_Message' et un champ 'Done' (vrai ou faux) pour savoir si le message est traité.

Pour nettoyer les données de MessagesLog je fait un DELETE FROM avec une condition sur le champ 'Done' (valeur 1)

ex. DELETE FROM MessagesLog WHERE MessagesLog.Done = 1

Ou je suis bloqué c'est dans ma requete SQL pour supprimer tous les enregistrements du fichier "Messages" qui ne possedent
plus de 'ID_Message' dans le fichier "MessagesLog"

Est-il possible d'utiliser un DELETE FROM Messages WHERE ????
pour tous les ID_Messages qui ne se trouve pas dans MessagesLog.

D'avance merci pour vos réponses.

Louis
Posté le 01 mai 2006 - 01:28
Salut,

tu pourrais faire quelque chose du style:

delete from messages where messages.id_message not in(select messageslog.id_message from messageslog)

à tester au préalable par :

select * from messages where messages.id_message not in(select messageslog.id_message from messageslog)

car c'est une requête non testée.

Bon dev,

Philippe
Posté le 01 mai 2006 - 11:49
Bonjour Philip,

Ca fonctionne nikel merci beaucoups

Louis
Posté le 02 mai 2006 - 11:06
de rien

Bon dev,

Philippe