Bonjour,
je suis tombé récemment sur un article ventant les mérites des procédure stockées introduites par MySQL 5 et j'ai donc décidé de migrer une partie de la logique de l'application PHP vers MySQL. Et forcement, ce n'est que maintenant que je me rend compte que je n'y connais rien en MySQL...
Voici donc mon probleme :Cette requete fonctionne mais le tri se fait sur le resultat globale et je ne trouve pas le moyen pour que le tri se fasse sur les deux requetes separemment. J'ai essayé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 select name,path,'dir' as mime from ftp.dirs where pid=v_id union select name,path,ext as mime from z.f where did=v_id and fid=0 order by name;et j'ai été gratifié d'un joli Incorrect usage of UNION and ODER BY. J'ai aussi pensé à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select name,path,'dir' as mime from ftp.dirs where pid=v_id order by name union select name,path,ext as mime from z.f where did=v_id and fid=0 order by name;mais j'obtiens alors en sortie deux résultats séparés... J'ai aussi pensé a
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select name,path,'dir' as mime from ftp.dirs where pid=v_id order by name; select name,path,ext as mime from z.f where did=v_id and fid=0 order by name;mais dans ce cas j'obtiens tous les résultat de la seconde requête en double et aucun de la première. Enfin j'ai cherché à enregistrer les deux requêtes sur des pointeurs (cursor in English in the text) pour stocker le résultat dans une table MEMORY et ensuite opérer un select sur celle-ci mais il semble que les pointeurs doivent être déclaré avant toute instruction et je n'ai pas la valeur de v_id pour le select dans ce cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select * from (select name,path,'dir' as mime from ftp.dirs where pid=v_id order by name) as dirs, (select name,path,ext as mime from z.f where did=v_id and fid=0 order by name) as files
J'espère avoir été clair sur mon problème, ne pas être passer a coté de quelques choses pendant la lecture du manuel MySQL et que vous aurez des idées pour résoudre ce problème.
Cordialement,
ramy.
Partager