bonjour,
dans le cadre d'une application web, j'effectue une recherche complexe (et lourde) me donnant un résultat de 15000 lignes dont je n'affiche que les 50 premières à l'écran.
j'aimerais cependant construire des filtres (select box) sur plusieurs colonnes pour la liste complète des résultats. pour cela il faut que je connaisse toutes les valeurs distinctes de chacune des colonnes utilisées comme filtre, sur l'ensemble des 15000 résultats.
la requête initiale concerne une jointure entre une dizaine de tables avec une clause where complexe mais pour fixer les idées, imaginons que nous avons deux tables:
GARAGES (code_garage, rue, localite, pays)
VEHICULES (code_vehicule, code_garage, marque, carburant)
une requête initiale
SELECT * FROM garages g JOIN vehicules v on g.code_garage=v.code_garage WHERE pays='FR';
donnant 15000 résultats.
pour ces 15000 résultats, il me faudrait pouvoir faire quelque chose comme:
SELECT DISTINCT localite FROM "resultats"
SELECT DISTINCT marque FROM "resultats"
SELECT DISTINCT carburant FROM "resultats"
qui me permettrait de construire les filtres ad-hoc sur l'ensemble des résultats de sorte que l'utilisateur puisse n'afficher qu'un sous-ensemble des résultats en sélectionnant une valeur dans ces filtres.
est-il possible de réaliser ceci uniquement en sql?
merci pour votre aide!
Partager