Problème avec requête sous MySQL

Problème avec requête sous MySQL - SQL/NoSQL - Programmation

Marsh Posté le 12-05-2005 à 17:33:11    

Bonjour à tous,
 
A mon grand étonnement la requête suivante ne fonctionne pas sous MySQL (via l'interface d'administration sous EasyPHP 1.7) :
 
SELECT a.id , a.niveau , a.valeur  
FROM test a  
WHERE niveau = ( SELECT MAX(b.niveau) FROM test b  
              WHERE a.id=b.id )  
ORDER BY 1  
 
En fait, je n'arrive à faire fonctionner aucune requête où le résultat d'un SELECT alimente une clause WHERE.... Ca me parait étonnant que cette fonctionnalité ne soit pas prise en compte. Je fais un truc de travers ou c'est une limite connue de MySQL ?
 
Merci d'avance pour vos réponses.

Reply

Marsh Posté le 12-05-2005 à 17:33:11   

Reply

Marsh Posté le 12-05-2005 à 17:43:44    

si je ne me trompe pas, les sous requetes sont acceptées sur des bases de type InnoDB


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 13-05-2005 à 09:13:37    

Merci pour ta réponse.  
 
Y aurait-il des utilisateurs de MySQL qui peuvent me confirmer cette limite ? Est-ce lié à une version ou est ce intrinsèque à cette base ?

Reply

Marsh Posté le 13-05-2005 à 09:18:39    

Je peux me tromper, mais je ne crois pas que le type MyISAM ou InnoDB ait une influence sur les sous requêtes.
 
Normalement les 2 les gèrent à partir de MySQL 4.1 et sup.
 
Différence InnoDB/MyISAM : le premier type gère les clés étrangères et transactions (entre autres, hein).

Reply

Marsh Posté le 13-05-2005 à 14:43:15    

Peut importe le format de la table. MySQL ne supporte pas les sub-select avec la version 4.1.


---------------
MZP est de retour
Reply

Marsh Posté le 13-05-2005 à 14:50:41    

Je confirme avec MySQL 4.1.9 il possible d'avoir une clause WHERE utilisant le résultat d'un sous sélect.
 
Merci pour votre aide.

Reply

Marsh Posté le 13-05-2005 à 21:12:41    

Citation :

Je confirme avec MySQL 4.1.9 il possible d'avoir une clause WHERE utilisant le résultat d'un sous sélect.

 
as tu essaye en ligne de commande ... car ca peut venir de EasyPHP aussi ...

Reply

Sujets relatifs:

Leave a Replay

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