Faire une recherche triée
Résolu/Fermé
salyks
Messages postés
139
Date d'inscription
mardi 26 février 2013
Statut
Membre
Dernière intervention
5 mars 2014
-
5 mars 2014 à 12:01
Blockiestbeatle Messages postés 84 Date d'inscription vendredi 27 mai 2011 Statut Membre Dernière intervention 20 mars 2014 - 5 mars 2014 à 13:04
Blockiestbeatle Messages postés 84 Date d'inscription vendredi 27 mai 2011 Statut Membre Dernière intervention 20 mars 2014 - 5 mars 2014 à 13:04
A voir également:
- Faire une recherche triée
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Je recherche une chanson - Guide
- Recherche adresse - Guide
2 réponses
Blockiestbeatle
Messages postés
84
Date d'inscription
vendredi 27 mai 2011
Statut
Membre
Dernière intervention
20 mars 2014
5
5 mars 2014 à 12:10
5 mars 2014 à 12:10
Bonjour,
Le sql ça fait longtemps mais je peux essayer quand même!
Tu peux utiliser un ORDER BY en spécifiant plusieurs colonnes ça c'est sur, cela trie la première colonne et s'il y a des doublons dans celle-ci la deuxième colonne sera prise en compte, etc.
Bien sûr, pour ce faire tu dois avoir un lien entre ses deux tables pour en faire la jointure (peut importe le type).
Ce que je ne comprends pas bien c'est ton résultat voulu...? Tu voudrais mélanger les deux colonnes en une seule ou bien conserver les deux mais trier? Car je ne vois pas bien l'intérêt de les mélanger dans une seule!
Peux-tu préciser?
@+
Gilles
Le sql ça fait longtemps mais je peux essayer quand même!
Tu peux utiliser un ORDER BY en spécifiant plusieurs colonnes ça c'est sur, cela trie la première colonne et s'il y a des doublons dans celle-ci la deuxième colonne sera prise en compte, etc.
Bien sûr, pour ce faire tu dois avoir un lien entre ses deux tables pour en faire la jointure (peut importe le type).
Ce que je ne comprends pas bien c'est ton résultat voulu...? Tu voudrais mélanger les deux colonnes en une seule ou bien conserver les deux mais trier? Car je ne vois pas bien l'intérêt de les mélanger dans une seule!
Peux-tu préciser?
@+
Gilles
salyks
Messages postés
139
Date d'inscription
mardi 26 février 2013
Statut
Membre
Dernière intervention
5 mars 2014
11
5 mars 2014 à 12:18
5 mars 2014 à 12:18
Justement, je pense pas qu'une jointure soit une bonne idée. En fait je vais pas avoir de rapport entre mes deux tables sauf le champs de recherche qui sera identique. Et dans l'idée je voudrais récupérer tous les noms de groupes et tous les sondages, les trier par ordre alphabétiques sans avoir de GROUP BY.
Merci pour la réponse rapide
Merci pour la réponse rapide
Blockiestbeatle
Messages postés
84
Date d'inscription
vendredi 27 mai 2011
Statut
Membre
Dernière intervention
20 mars 2014
5
5 mars 2014 à 12:33
5 mars 2014 à 12:33
Ok ok.
Je vois mieux le résultat que veux. En gros, obtenir toutes les références qui correspond à la valeur à rechercher, peut importe la colonne (ici Groupe et Sondage).
Très honnêtement dans une requête je ne sais pas si cela est possible... les résultats tu les affichent directement? (Genre console output ou terminal) Ou bien tu les récupère dans une application? (Java, .net,...)
Si c'est un affichage direct, je ne pense pas pouvoir t'aider, voir même te dire si c'est possible, pour l'affichage après ça on peut joindre nos résultats dans une même liste avant de faire un tri alphabétique, peu importe la nature de l'élément!
Je regarde un peu de mon côté!
Je vois mieux le résultat que veux. En gros, obtenir toutes les références qui correspond à la valeur à rechercher, peut importe la colonne (ici Groupe et Sondage).
Très honnêtement dans une requête je ne sais pas si cela est possible... les résultats tu les affichent directement? (Genre console output ou terminal) Ou bien tu les récupère dans une application? (Java, .net,...)
Si c'est un affichage direct, je ne pense pas pouvoir t'aider, voir même te dire si c'est possible, pour l'affichage après ça on peut joindre nos résultats dans une même liste avant de faire un tri alphabétique, peu importe la nature de l'élément!
Je regarde un peu de mon côté!
salyks
Messages postés
139
Date d'inscription
mardi 26 février 2013
Statut
Membre
Dernière intervention
5 mars 2014
11
5 mars 2014 à 12:35
5 mars 2014 à 12:35
En gros il faudrait que je traite ça en php avant d'effectuer l'affichage (qui sera direct). A la base ma question était surtout de savoir si je pouvais me simplifier la vie en le traitant en SQL. en tout cas merci de ton aide.
Blockiestbeatle
Messages postés
84
Date d'inscription
vendredi 27 mai 2011
Statut
Membre
Dernière intervention
20 mars 2014
5
Modifié par Blockiestbeatle le 5/03/2014 à 12:44
Modifié par Blockiestbeatle le 5/03/2014 à 12:44
Ok j'ai rien dis -_-'
SELECT NomColSondage Colonne_Result FROM Sondages
UNION
SELECT NomColGroupe Colonne_Result FROM Groupes
ORDER BY Colonne_Result
Note que cette manipulation ne peut fonctionner que si les types sont les mêmes, dans ton cas ce doit être bon!
En gros: Si tes types sont les même mais le nom des colonnes différent, il faut créé le même nom d'alias pour faire un order by dessus, les types étant égaux, la comparaison est possible.
Qu'en penses-tu?
SELECT NomColSondage Colonne_Result FROM Sondages
UNION
SELECT NomColGroupe Colonne_Result FROM Groupes
ORDER BY Colonne_Result
Note que cette manipulation ne peut fonctionner que si les types sont les mêmes, dans ton cas ce doit être bon!
En gros: Si tes types sont les même mais le nom des colonnes différent, il faut créé le même nom d'alias pour faire un order by dessus, les types étant égaux, la comparaison est possible.
Qu'en penses-tu?
salyks
Messages postés
139
Date d'inscription
mardi 26 février 2013
Statut
Membre
Dernière intervention
5 mars 2014
11
5 mars 2014 à 12:59
5 mars 2014 à 12:59
Nickel ça marche. Pour résumer j'ai fait un petit AS :
SELECT nomgroupe AS resultat FROM groupe WHERE nomgroupe LIKE '%communication%'
UNION
SELECT titre As resultat FROM sondage WHERE titre LIKE '%communication%'
ORDER BY resultat ASC
merci pour ton aide très préciseuse :)
SELECT nomgroupe AS resultat FROM groupe WHERE nomgroupe LIKE '%communication%'
UNION
SELECT titre As resultat FROM sondage WHERE titre LIKE '%communication%'
ORDER BY resultat ASC
merci pour ton aide très préciseuse :)
Blockiestbeatle
Messages postés
84
Date d'inscription
vendredi 27 mai 2011
Statut
Membre
Dernière intervention
20 mars 2014
5
5 mars 2014 à 13:04
5 mars 2014 à 13:04
oui oui le AS crée l'alias en effet!
Tant mieux si tout fonctionne!
Tant mieux si tout fonctionne!