PROBLEME DE REQETTE SQL - SQL/NoSQL - Programmation
Marsh Posté le 06-03-2005 à 15:46:18
Si. En 4.1, tu peux faire des selects imbriqués.
Marsh Posté le 06-03-2005 à 15:53:13
quand je le fait cela me fais une erreur comme celle ci
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT NUM_UTIL
FROM UTILISATEUR
WHERE NUM_UTIL = "58" ) LIMIT
Marsh Posté le 06-03-2005 à 15:57:55
le LIMIT doit être accompagné de 2 paramètres
edit: tu pourrais poster la requête complète svp?
Marsh Posté le 06-03-2005 à 16:16:15
SELECT NOM_PROJ
FROM PROJET
WHERE NOM_UTIL = (SELECT NOM_UTIL
FROM UTILISATEUR
WHERE NOM_UTIL = "edmond" )
Marsh Posté le 06-03-2005 à 22:31:44
D'après les règles en vigueur ici, les titres tout en majuscules sont mal vus
Marsh Posté le 07-03-2005 à 18:15:24
balakam a écrit : SELECT NOM_PROJ |
moi23372 a écrit : la requte est bonne syntaxiquement... |
oui et non, on met plutôt IN qu' = dans un subselect, même si c'est pas vraiment une erreur de syntaxe.
Marsh Posté le 07-03-2005 à 18:31:30
balakam a écrit : SELECT NOM_PROJ |
Et sinon :
SELECT P.NOM_PROJ
FROM PROJET P
INNER JOIN UTILISATEUR U on U.NOM_UTIL = P.NOM_UTIL
WHERE U.NOM_UTIL = "edmond"
ou encore plus simplement (comprends pas ta requete la ) :
SELECT NOM_PROJ
FROM PROJET
WHERE NOM_UTIL = "edmond"
Marsh Posté le 07-03-2005 à 18:47:52
glod 2 a écrit : oui et non, on met plutôt IN qu' = dans un subselect, même si c'est pas vraiment une erreur de syntaxe. |
absolument pas... c'est vrai que IN est le plus utilisé, mais la requete est absolument correcte...
Il y a tjs moyen d'arrivé par plusieurs chemin à un résultat...
dans son cas:
IN
EXISTS
= ANY
...
sont également correctes (pour tout autant que la corrélation soit faite pour les opérateurs qui le demande)
Marsh Posté le 07-03-2005 à 20:01:32
En effet, si la sous-requête ne revoit qu'un seul résultat, le "=" est mieu qu'un "IN".
Cela dit, je préfère utiliser un "champ = (select max(champ2) from ...)" même quand il n'y a qu'un seul résultat. De évide les surprises le jour où il y en a deux
Marsh Posté le 07-03-2005 à 20:26:56
Oui, mais le jour ou il y a 2 résultats vaut mieux le savoir plutôt que d'avoir un résultat aléatoire
Marsh Posté le 07-03-2005 à 20:31:36
Ca dépend de l'application, des fois, vaut mieu afficher des données foireuses que de planter
Marsh Posté le 06-03-2005 à 14:55:17
Bonjour
Je vous savoir si sur MySql je peux faire des requettes imbriquees comme sur oracle et si oui comment car j ai des erreur de syntaxe a chaque fois?
MERCII