Hello,
Je me casse la tête depuis un bon moment sur une (grosse) requête MySQL.
La requête:
Imaginez une requête multitables du type...
Le résultat:
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 SELECT user, data_type, file_name, date_time FROM ( (SELECT a.user, b.data_type, c.file_name, d.date_time FROM user_datas a LEFT JOIN generic_data b ON a.user = b.user LEFT JOIN stack c ON a.user = c.user LEFT JOIN timeframe d ON a.user = d.user) UNION ALL (SELECT a.user, b.data_type, c.file_name, d.date_time FROM user_revoked a LEFT JOIN generic_data b ON a.user = b.user LEFT JOIN stack c ON a.user = c.user LEFT JOIN timeframe d ON a.user = d.user) UNION ALL (SELECT a.user, b.data_type, c.file_name, d.date_time FROM user_latent a LEFT JOIN generic_data b ON a.user = b.user LEFT JOIN stack c ON a.user = c.user LEFT JOIN timeframe d ON a.user = d.user) ORDER BY date_time DESC
L'affichage:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 ___user________data_type___________file_name__________date_time________ | pablo001 image photo.jpg 2012-02-01 12:55:01 | pablo001 text vars.pdf 2012-02-01 12:22:20 | pablo001 signin NULL 2012-02-01 10:01:33 | cindy text toto.pdf 2012-01-28 23:25:23 | antony text comme.pdf 2012-01-28 22:24:52 | antony signin NULL 2012-01-28 22:16:21 | pablo001 register NULL 2012-01-28 10:17:42 | antony register NULL 2012-01-27 08:52:25 | cindy image DN003.png 2012-01-27 08:44:45 | cindy register NULL 2012-01-27 07:32:34 -------------------------------------------------------------------
Par ordre de temps, décroissant...
Sachant qu'une même user peut apparaître dans plusieurs table de type a, et que les résultats se suivants seront concaténés avant de passer à l'utilisateur suivant, comment feriez-vous pour déterminer la variable LIMIT des résultats à afficher?pablo001 a ajouté un image, un fichier de texte et s'est connecté
cindy a ajouté un fichier de texte
antony a ajouté un fichier de texte et s'est connecté
pablo001 s'est inscrit
antony s'est inscrit
cindy a ajouté une image et s'est inscrite
Merci à vous!
Partager