Bonjour,
J'ai actuellement une requête qui me sort les éléments de cette manière :
J'aimerai avoir ce résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8id date category subcategory value 001 date1 cat1 sub1 X 002 date1 cat1 sub2 X 003 date1 cat1 sub3 X 004 date1 cat2 sub1 X 005 date1 cat3 sub1 X 006 date1 cat3 sub2 X
Voici un exemple de ma requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3date cat1_sub1 cat1_sub2 cat1_sub3 cat2_sub1 cat3_sub1 cat3_sub2 date1 X X X X X X
On m'a recommandé ce lien sur Stackoverflow, cependant le problème avec ma requête, c'est que je ne connais pas d'avance le nom de colonnes.
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 SELECT DATE_FORMAT(FROM_UNIXTIME(data.timestamp), '%d %m %Y %h:%i:%s') as timestamp, data_sub_category.designation as sub, data_key.designation as dkey, data_row.value as value FROM data, data_row, data_sub_category, data_key, data_category WHERE data.id = data_row.id_data AND data_category.id = data_row.id_data_category AND data_sub_category.id = data_row.id_data_sub_category AND data_key.id = data_row.id_data_key AND data_row.id_data_sub_category IN (1,2,3,22,1,2,3,22) AND data_row.id_data_key IN (3,4,5,6,9,10,11,12,15,16,17,18,92,93,94,95,96,97,98,99,100,101,3,4,5,6,9,10,11,12,15,16,17,18,92,93,94,95,96,97,98,99,100,101) AND data.timestamp BETWEEN 1536271200 AND 1536357540 ORDER BY data.timestamp
Je ne vois pas comment adapter ma requête pour mettre en place le pivot.
En vous remerciant pour votre aide.
Valentin
Partager