Envoyé par
bobosh
J'ai ma table d'utilisateur relié à une table qui contient ma liste personnel,
Jusque là, ça va !
et cette liste personnel est unique si j'ai bien compris
Ce n'est pas ce que dit mon schéma :
Utilisateur -0,n----Creer----1,1- Liste -0,n----Contenir----0,n- Entreprise
Ce schéma dit :
"Un utilisateur peut créer plusieurs listes et une liste est créée par un seul utilisateur."
et est relié à une autre table liste_entreprise qui contient mes sous listes.
Il ne s'agit pas de sous listes mais du contenu des listes.
J'ai ensuite ma table qui contient mes entreprise qui est relié à ma table liste_entreprise.
Oui.
Alors on va expliquer en détail et en étapes.
Je m'inscris sur ton application et donc il se crée une ligne dans la table User :
INSERT INTO User (U_Login, U_Mail, U_Nom, U_Prenom, U_Password) VALUES('CinePhil', 'CinePhil31@Hotmail.fr', 'Leménager', 'Philippe', 'xxx')
Je choisis l'option qui me permet de créer une liste d'entreprises. Il se crée donc une ligne dans la table Liste :
1 2 3 4 5 6 7
| INSERT INTO Liste (L_NomListe, L_IdUser)
VALUES('ListeCinePhil', (
SELECT U_id
FROM User
WHERE U_Login = 'CinePhil'
)
) |
Le système me propose les entreprises déjà existantes dans la table des entreprise et j'en choisis une à insérer dans ma liste :
1 2 3 4 5 6 7 8 9 10 11
| INSERT INTO ListesEntreprise(LE_IdEntreprise, LE_IdListe)
VALUES (
(SELECT E_Id
FROM Entreprise
WHERE E_Nom = 'developpez.com'
),
(SELECT L_Id
FROM Liste
WHERE L_NomListe = 'ListeCinePhil'
)
) |
Je crée une nouvelle entreprise à insérer dans ma liste :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| INSERT INTO Entreprises(E_Nom, E_Adresse)
VALUES('ENFA', 'BP22687 - 31326 CASTANET TOLOSAN Cedex');
INSERT INTO ListesEntreprise(LE_IdEntreprise, LE_IdListe)
VALUES (
(SELECT E_Id
FROM Entreprise
WHERE E_Nom = 'ENFA'
),
(SELECT L_Id
FROM Liste
WHERE L_NomListe = 'ListeCinePhil'
)
) |
Quelles sont les entreprises sde ma liste ?
1 2 3 4 5 6
| SELECT e.E_Nom
FROM Entreprise AS e
INNER JOIN ListesEntreprise AS le ON e.E_Id = le.LE_IdEntreprise
INNER JOIN Liste AS l ON le.LE_IdListe = l.L_Id
WHERE l.L_NomListe = 'ListeCinePhil'
ORDER BY e.E_Nom |
Je crois que tu as grand besoin de te plonger assidûment dans le blog de SQLPro !
Partager