Deux SELECT dans une même requete ?

sourisjaune Messages postés 8 Statut Membre -  
sourisjaune Messages postés 8 Statut Membre -
Bonjour,
Bonjour,
j'ai créé une liste deroulante dans laquelle je veux proposer le contenu d'un champ de ma table de données, mais en proposant en premier 2 choses que je considère plus importantes, puis les autres choses par ordre alphabétique.

Est-ce qu'on peut mettre deux SELECT de suite dans une même requête ?
ou bien faut-il faire une requête à part, avec le même jeu d'enregistrement ? (ouh là !!)
ou bien peut-on écrire un WHERE suivi d'un OR, puis d'un AND ?

merci d'avance

3 réponses

ddez Messages postés 19 Statut Membre 9
 
Utilise UNION pour rassembler le résultat de 2 SELECT
1
sourisjaune Messages postés 8 Statut Membre
 
MERCI j'ai decouvert UNION grace à toi
. mais çà ne marche pas encore nickel :

"(SELECT Distinct Lieu FROM offres WHERE Lieu ='Meurthe et Moselle' OR Lieu='Moselle' ORDER BY Lieu ) UNION (SELECT Distinct Lieu FROM offres WHERE Lieu!='Meurthe et Moselle' AND Lieu!='moselle' ORDER BY Lieu )" ;

j'affiche bien en premier Meurthe et Moselle et Moselle, puis les autres departements mais pas par ordre alphabetique.
On dirait que dans ma requete , le ORDER BY n'est pas compris. ??
0
sourisjaune Messages postés 8 Statut Membre
 
merci à vous, je vais essayer...
1
flash
 
Yo

Est-ce qu'on peut mettre deux SELECT de suite dans une même requête ?

Pourquoi pas 2 requêtes? (3 avec les valeurs restantes)

ou bien faut-il faire une requête à part, avec le même jeu d'enregistrement ? (ouh là !!)

Pourquoi ouh là!! , c'est peut être pas l'optimisation suprême mais aucun problème.

ou bien peut-on écrire un WHERE suivi d'un OR, puis d'un AND ?
aucun soucis tant que la syntaxe est juste.
Perso je ferait une première requête avec le WHERE OR pour avoir les 2 données prioritaires puis une autre requête en omettant les données prioritaires puis un autre pour les valeurs restantes(donc WHERE != &valeur_prioritaire1 AND != &valeur_prioritaire2) puis afficher dans la liste déroulante les valeurs prio puis un while pour le reste.
Mais bon on est trop dans l'hypothétique il faudrait que tu essaie pour voir si tu as un soucis avec le code.
0
sourisjaune Messages postés 8 Statut Membre
 
re-bonjour
alors comme je débute je ne sais pas comment faire une2de requete sur le meme jeu d'enregistrement :

1) $query_rsrecherche2 = "SELECT Distinct dept FROM table WHERE dept='ain' OR dept='allier' ORDER BY dept ";
2) $rsrecherche2 = mysql_query($query_rsrecherche2, $connexion) or die(mysql_error());
3) $row_rsrecherche2 = mysql_fetch_assoc($rsrecherche2);
4) $totalRows_rsrecherche2 = mysql_num_rows($rsrecherche2);

le jeu d'enregistrement s'appelle rsrecherche2...
LA requete, c'est bien la 1ere ligne ?

si je fais une 2de requete , que j'appelle query2 :
$query2_rsrecherche2="SELECT Distinct dept FROM table WHERE dept!='ain' AND dept!='allier' ORDER BY dept ";
est-ce que je dois modifier la ligne 2 par :
2) $recherche2=mysql_query($query_rsrecherche2, $query2_rsrecherche2,$connexion) or die.....;

un gros gros merci d'avance !!
0