Salut tout le monde,
J'ai :
1) une table Properties(ID,Property1,Property2,ComputerID)
2) une vue Groups(Name,CompuerID)
Je veux en créer une vue ExtendedProperties(ID,Property1,Property2,name1,name2,....nameN)
avec {name1,name2,....nameN} est le résultat de select Name from Groups et Les valeurs des colonnes
name1,name2,...,nameN seront 0 ou 1 selon que le tuple [Name,CompuerID] existe dans la vue Groups.
Exemple:
Table Properties:
Vue groups
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 -------------------------------------------- ID | Property1 | Property2 | ComputerID | -------------------------------------------- 1 | val11 | val12 | 1 | 2 | val21 | val22 | 2 | 3 | val31 | val32 | 3 |
Dans cet exemple de la vue, on peut interpréter que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ----------------------- Name | ComputerID | ----------------------- G1 | 1 | G1 | 3 | G1 | 2 | G2 | 1 | G2 | 3 | G3 | 2 |
-le computer d'id 1 appartient aux groupes G1,G2
-le computer d'id 2 appartient aux groupes G1,G3
-le computer d'id 3 appartient aux groupes G1,G2
Dans la vue résultante ExtendedProperties j'aimerai avoir ça:
Avec une case vide dans le cas où le computer n'appartient pas au groupe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ---------------------------------------------------------------------- ID | Property1 | Property2 | ComputerID | G1 | G2 | G3 | ---------------------------------------------------------------------- 1 | val11 | val12 | 1 | 1 | 1 | | 2 | val21 | val22 | 2 | 1 | | 1 | 3 | val31 | val32 | 3 | 1 | 1 | |
ou à la limite ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ---------------------------------------------------------------------- ID | Property1 | Property2 | ComputerID | G1 | G2 | G3 | ---------------------------------------------------------------------- 1 | val11 | val12 | 1 | 1 | 1 | 0 | 2 | val21 | val22 | 2 | 1 | 0 | 1 | 3 | val31 | val32 | 3 | 1 | 1 | 0 |
Alors je veux savoir comment faire ça, si quelqu'un a une idée je suis preneur.
Merci
Partager