Bonjour a tous,
J'ai un probleme sur lequel ca fait plusieurs jours que je butte dessus, j'ai passe des journees a chercher, a tester des requetes dans tous les sens et la je lagg completement... SI quelqun peut m'aider ou me mettre sur une piste ce serai vraiment sympa!!!
Je vous expose le probleme :
J'ai un arbre hierarchique suivant :
J'ai une table ou je loge les utilisateurs (intra_user_parent)
avec les champs id, nom, prenom, login, categorie_id
une autre table (categories) ou il y a les categories d'utilisateur (ex: concession, agent, commercial, ...) avec les champs id_cat, cat_nom
et une table (intra_user_parent) qui me dit "qui est parent de qui" avec les champs enfant_id, parent_id .
il peut y avoir N Concessions
1 concession peut avoir 1 a N representants
1 representant peut avoir 1 a N revendeur
1 revendeur peut avoir 1 a N commerial
1 commercial peut avoir 1 a N client
J'ai besoin d'afficher la liste des client et dans d'autres cas tous les contrat correspondant a 1 concession, hors une concession a plusieurs representants, ainsi de suite jusqu'au client, et si je desire afficher par date de creation des clients, ceux correspondant a la concession, je me retrouve dans l'impasse et si j'utilise 2 ou plusieurs requetes, forcement mes clients sont d'abord tries par representant, puis par revendeur, ... , ainsi de suite jusqu'au client pour enfin trier par date, du coup c'est du nimporte quoi :S pareil si je veu trier par statut d'un contrat correspondant au client...
J'ai essaye des sous requettes sous mysql v4 et ca ne marche pas...
exemple de requete teste mais normalement elle ne marchent pas avec une version MySQL anterieur a 4.1:
SELECT nom
FROM intra_user
WHERE id = (
SELECT enfant_id
FROM intra_user_parent
WHERE parent_id = '76'
)
Dois-je repenser mes tables en ajouter? COmment avoir l'equivalent de ce que je recherche sans sous-requetes avec MySQL ?
Merci de me repondre si vous avez meme une ptite idee sur mon pb
Luc