Bonjour, je viens vous demander un peu d'aide sur le forum SQL car je dois réaliser la vue suivante :
..... email ..... | ....... nom ........
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
adr1@mail.com | utilisateur
--------------------------------
adr1@mail.com | admin
--------------------------------
adr2@mail.com | visiteur
--------------------------------
adr3@mail.com | visiteur
--------------------------------
adr4@mail.com | utilisateur
Elle met en relation les utilisateurs et leur(s) groupe(s).
Les tables en questions sont les suivantes :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 CREATE TABLE groupe ( id integer NOT NULL, nom character varying, libelle character varying ); CREATE TABLE personne ( id integer NOT NULL, email character varying, password character varying ); CREATE TABLE personne_groupe ( id_personne integer, id_groupe integer ); ALTER TABLE ONLY groupe ADD CONSTRAINT groupe_nom_key UNIQUE (nom); ALTER TABLE ONLY groupe ADD CONSTRAINT groupe_pkey PRIMARY KEY (id); ALTER TABLE ONLY personne ADD CONSTRAINT personne_email_key UNIQUE (email); ALTER TABLE ONLY personne ADD CONSTRAINT personne_pkey PRIMARY KEY (id); ALTER TABLE ONLY personne_groupe ADD CONSTRAINT personne_groupe_id_personne_id_groupe_key UNIQUE (id_personne, id_groupe); ALTER TABLE ONLY personne_groupe ADD CONSTRAINT personne_groupe_id_groupe_fkey FOREIGN KEY (id_groupe) REFERENCES groupe(id) ON UPDATE CASCADE ON DELETE CASCADE; ALTER TABLE ONLY personne_groupe ADD CONSTRAINT personne_groupe_id_personne_fkey FOREIGN KEY (id_personne) REFERENCES personne(id) ON UPDATE CASCADE ON DELETE CASCADE; CREATE SEQUENCE groupe_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; ALTER TABLE ONLY groupe ALTER COLUMN id SET DEFAULT nextval('groupe_id_seq'::regclass); CREATE SEQUENCE personne_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; ALTER TABLE ONLY personne ALTER COLUMN id SET DEFAULT nextval('personne_id_seq'::regclass);
Je ne sais pas comment réaliser les jointures pour arriver à ce résultat.
Merci d'avance pour votre aide.
Partager