Problème avec requête sous MySQL - SQL/NoSQL - Programmation
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
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 ?
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).
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.
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.
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 ...
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.