[MySQL]pb requete[Resolu]

pb requete[Resolu] [MySQL] - SQL/NoSQL - Programmation

Marsh Posté le 04-08-2005 à 13:27:21    

salut
j'ai besoin d'1 conseil de syntax :ange:  
(c'est dans le but de faire une recherche multiple avec php)
est-ce que c'est possible d'utiliser des alias en MySQL ? :  
 
select nom, prenom, activite, origine  
   from identiteTab as i, statutTab as s, planeteTab as p
   where i.id_st = s.id_st
   and i.id_pl = p.id_pl
   and s.activite = 'espion'
   and p.origine = 'mars'
 
ou il faut faire ca :
 
select nom, prenom, activite, origine  
   from identiteTab, statutTab, planeteTab
   where identiteTab.id_st = statutTab.id_st
   and identiteTab.id_pl = planeteTab.id_pl
   and statutTab.activite = 'espion'
   and planeteTab.origine = 'mars'
 
le resultat recherché c'est les personnes avec les nom, prenom, d'activité espion et d'origine de mars  :pt1cable:


Message édité par axo le 06-08-2005 à 00:44:00
Reply

Marsh Posté le 04-08-2005 à 13:27:21   

Reply

Marsh Posté le 04-08-2005 à 14:31:09    

Les alias marchent tres bien en mysql
 
http://dev.mysql.com/doc/mysql/fr/select.html


Message édité par Oreste le 04-08-2005 à 14:33:12
Reply

Marsh Posté le 04-08-2005 à 17:07:05    

c'est tellement plus rapide d'essayer...

Reply

Marsh Posté le 04-08-2005 à 17:20:50    

Oreste merci pour ton lien , j'avais entendu dire que mySQL etait limité alors je me suis dit que les alias etaint absents , ainsi que les select embriqués mais ce n'est plus le cas [:arg]
 
betsamee, j'ai testé avant de poster lol.
il se trouve que ca ne fonctionne pas donc faut bien que je cherche d'ou peut venir le probleme...
 
sinon on peut utiliser les "and" autant de fois qu'on le veut dans la clause "where" ?  
parce que j'ai une select qui ne fonctionnne pas ....

Reply

Marsh Posté le 04-08-2005 à 17:26:03    

les where sont "illimités",
une des seules limitations que je connaisse avec mySQL est
les requetes imbriquées, mais bon un coup de while sur la première et on fait la deuxième et c'est réglé.
Sinon, pour moi utilisates plutôt la 2ème requete que tu proposais, et pour les wheres qui marchent pas, à mon avis t'es revenu à la ligne et t'as pas fait d'espace, technique de test tu mes un bout de code, si la requete foire tu l'affiches tu prend ton myadmin et copie la requete et tu la colles ds myadmin et pouf! il te dit ce qu'il fonctione pas facile, net précis...

Reply

Marsh Posté le 04-08-2005 à 17:50:16    

lordashram , beaucoup de conseils ! merci .
en fait je voulais dire le nombre illimité de condtions "and" et pas de limitation de clause "where" , mais comme ca je saurai que les where sont illimités  :)  
 
pour ma part j'aime mieux utiliser les alias car je les trouve plus lisible.
et a propos des select embriqués, j'ai lu selon un exemple donné par betsamee dans un autre post  
que mysql les accepte.
 

Reply

Marsh Posté le 04-08-2005 à 22:22:59    

Oui, depuis la version 4.0 il me semble :)

Reply

Marsh Posté le 05-08-2005 à 00:56:41    

mySQL accepte les select imbriqués depuis la 4.1 mais comme je suis chez Free qui propose "que"
la 4.0 , voila voila ......[:arhendal]

Reply

Marsh Posté le 05-08-2005 à 18:51:38    

effectivement, les alias permettent de clarifier une requete si elle devient conséquente et surtout si les noms de champs par exemple pour les clef étrangères sont les mêmes, ça rique d'être tendu pour le SGBD lol.
Sinon pour les imbriquées, euh ben on s'en sort de tte façon, pour le moment ma bdd est plsu chez free donc ça va :-)

Reply

Marsh Posté le 06-08-2005 à 00:43:28    

juste un dernier message pour dire que ma requete du haute fonctionne
merci a vous tous pour votre aide

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed