Bonjour,

J'ai une table de liaison entre des sociétés et des utilisateur structurée ainsi :

t_compte
---
id, societe, utilisateur, status

status indique si l'utilisateur est "propriétaire" (1) ou "délégué" (0).
seul le "propriétaire" d'une société peut supprimer des utilisateurs "délégué" de cette société.

L'interface HTML/PHP transmet uniquement l'id à supprimer et l'utilisateur demandant la suppression.
L'idée est donc de vérifier que l'utilisateur supprimant est bien "proprietaire" de la societé.

J'ai écris une requete de suppression de "delegué" ainsi avec une sous-requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
DELETE FROM t_compte 
WHERE id=12345 
   AND societe IN (
    SELECT societe 
    FROM t_compte 
    WHERE status = 1 
      AND utilisateur=toto
  )
Est-ce que cela vous parrait bon ou completement nul ?

Y a t'il une meilleur maniere de l'écrire en SQL ?

L'alternative que j'avais étant de découper et utiliser le langage de programmation :
1 - trouver la société correspondant à l'id
2 - vérifier si l'utilisateur est "propriétaire" de cette société
3 - si oui faire la suppression.

Merci de votre aide.