Sélectionner et Supprimer en une seule requête

J'ai 2 tables:

  • utilisateurs (user_id, user_connected)
  • chambres (room_id, room_initiating_user_id, room_target_user_id)

Je voudrais supprimer tous les "chambres" ayant à la fois le lancement de l'utilisateur et le target_user réglé sur "user_connected=0"

J'ai deux problèmes ici:

  1. Comment cibler ces utilisateurs?
    Évidemment, cette requête ne fonctionne pas:

    SELECT room_id
    FROM rooms,users
    WHERE
    ( 
     (room_target_user_id=user_id) AND (user_connected=0)
    )                   
    AND
    (                
     (room_initiating_user_id=user_id) AND (user_connected=0)
    )
  2. Je voudrais, avec la même requête, si possible, de supprimer ces chambres (pas de problème si j'utilise une deuxième requête, mais cela signifie que cette requête serait déclenché pour chaque résultat, ce qui est beaucoup. N'est-il pas possible de supprimer ces chambres à la fois?

OriginalL'auteur Baylock | 2012-05-08