Bonjour,
Je suis en train d'écrire une requette, j'arrive pesque à mes fin, ca reste bancal.
Je m'explique:
je récupère deux tables:
1er Table elle contient des utilisateurs
et la deuxiéme contient des infos sur ces utilisateurs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Table: UTILISATEURS_TABLE ID | Utilisateurs | GUID 1 | King | YT65-TR543 2 | Chuck | NO43-R54IS 3 | Bob | 543G-ERT45 ...
Et mon but c'est d'obtenir ça (et que l'on puisse faire des updates dessus):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Table: INFOS ID | IDENTIFIER | STRING_VALUE | GUID 54 | NUM_TEL | 0600000000 | YT65-TR543 55 | SALAIRE | 19,000 | YT65-TR543 57 | ADRESSE | 2 Place du centre| YT65-TR543 68 | NUM_TEL | 0600000001 | NO43-R54IS 69 | SALAIRE | 100,000 | NO43-R54IS 98 | ADRESSE | 1 Place du centre| NO43-R54IS ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 UTILISATEURS | NUM_TEL | SALAIRE | ADRESSE | GUID King | 0600000000 | 19,000 | 2 Place du centre| YT65-TR543 Chuck | 0600000001 | 100,000 | 1 Place du centre| NO43-R54IS
Voila ce que j'ai fait:
-Je crée une VIEW avec tous les NUM_TEL et les GUID correspondant
-Je recrée une VIEW avec les SALAIRE et GUID tous en faisant une jointure de la vue précédente (via le GUID)
- re avec ADRESSE et cette dernière VIEW créé
-Je crée une derniére VIEW de la jointure entre la table UTILISATEUR et ma dernière VIEW qui contient toutes mes infos
code:
J'obtiens bien la table que je voulais au depart mais l'écriture est trés lourde (car j'ai beaucoup plus de champs que ça), et également je ne peut pas faire d'UPDATE sur cette dernière VIEW.
Code : 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 CREATE VIEW INFO_TEL (NUM_TEL) AS SELECT string_value, GUID FROM infos WHERE IDENTIFIER = 'NUM_TEL'; CREATE VIEW INFO_SAL ( SALAIRE ) AS SELECT string_value, GUID FROM infos WHERE IDENTIFIER = 'SALAIRE'; CREATE VIEW INFO_ADR ( ADRESSE ) AS SELECT string_value, GUID FROM infos WHERE IDENTIFIER = 'ADRESSE'; CREATE VIEW INFO_TEL_SAL AS SELECT m.NUM_TEL, l.SALAIRE, l.GUID FROM info_tel m JOIN info_sal l ON (l.guid = m.guid); CREATE VIEW TOUS_INFOS AS SELECT m.num_tel, m.salaire, l.adresse, l.guid FROM info_tel_sal m JOIN info_adr ON (l.guid = m.guid); CREATE VIEW UTIL_INFOS AS SELECT m.utilisateurs, l.num_tel, l.salaire, l.adresse, l.guid FROM utilisateurs_table m JOIN tous_infos ON (l.guid = m.guid);
Est-ce qu'il y aurait un moyen plus simple de faire? et qui permette de faire des updates ?
merci.
Partager