Rechercher : dans
Par :

MYSQL Problème de requetes imbriquées

Dernière réponse le 11 avr 2007 à 15:54:19 Zack Strife, le 24 mai 2003 à 02:13:30 
 Signaler ce message aux modérateurs

Bonsoir,

Malgré le tutorial sur les sous requetes je n'arrive pas a comprendre ce qui ne va pas dans celle que j'ai faite. la voici

SELECT * FROM table WHERE id=1 IN (SELECT * FROM `test` WHERE level>='0' GROUP BY id_origine)

Pouvez-vous l'aider svp?

Merci pour votre aide

Meilleures réponses pour « MYSQL Problème de requetes imbriquées » dans :
MySQL – Optimisation VoirL’optimisation au niveau de MySQL passe par trois composants, à savoir : Optimisation du serveur MySQL Optimisation de la base de données Optimisation des requêtes Optimisation de la configuration de serveur MySQL L’optimisation du serveur peut...
Le langage SQL VoirQu'appelle-t-on SQL? SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage de définition de données (LDD, ou en anglais DDL Data Definition Language), un langage de manipulation de données (LMD, ou en anglais DML,...
SQL - Sous-requêtes VoirExpression des sous-requêtes Effectuer une sous-requête consiste à effectuer une requête à l'intérieur d'une autre, ou en d'autres termes d'utiliser une requête afin d'en réaliser une autre (on entend parfois le terme de requêtes en...

1

asevere, le 24 mai 2003 à 16:01:41

Salut!

a priori l'erreur vient du where:
essaye de modifier ta requete comme ca,
SELECT * FROM table WHERE id=1 IN (SELECT * FROM `test` WHERE level>='0' GROUP BY id_origine)

SELECT * FROM table WHERE id IN (SELECT * FROM `test` WHERE level>='0' GROUP BY id_origine)

et tiens nous au courant :)
@+
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !

Répondre à asevere

2

asevere, le 24 mai 2003 à 16:07:28

Heu boulette (enfin petite mais ca risque de pas fonctioner)

SELECT * FROM table WHERE id IN (SELECT * FROM `test` WHERE level>='0' GROUP BY id_origine)

je suppose que tu veux tout les enregistrement de "table" pour lesquels l' "id" est present dans test.id_origine

donc ta requete doit etre :

SELECT * FROM table WHERE id IN(SELECET DISTINCT id_origine FORM test)

Si c'est pas ce que tu cherches donne nous un peu plus de détails... :)

@++

Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !

Répondre à asevere

3

asevere, le 24 mai 2003 à 16:17:32

ARRRRRRRGGGGGG! je n'y arriverai pas aujourd'hui!!!

Tout les enregistrement de "table" pour lesquels l' "id" est present dans test.id_origine et avec test.level>=0

donc:
SELECT * FROM table WHERE id IN(SELECET DISTINCT id_origine FORM test WHERE level >=0 )

mais je ne suis plus sure de rien :)

@+

Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !

Répondre à asevere

4

nz_janvier, le 25 mai 2003 à 16:20:48

Mais dis donc,

je croyais avoir lu quelque part que l'un des défauts de mysql c'est de ne pas supporter les requêtes imbriquées !!

si un modérateur pouvait nou svenir en aide !!

merci

Répondre à nz_janvier

5

asevere, le 25 mai 2003 à 19:32:29

Salut nz

Exact jusqu'a la version 4.0 (incluse) cela n'était pas implementé mais depuis c'est ok a ce qu'il parait...
Enfin ceci dit je n'ai pas testé pour encore :)

Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !

Répondre à asevere

6

Zack Strife, le 25 mai 2003 à 23:19:06

Ok donc du a la version de mysql alors vu que c'est la version 3.23.47 qu'il y a.

Encore merci pour votre aide =) ça m'évitera de m'acharner deçu

Répondre à Zack Strife

7

xav, le 7 jui 2004 à 08:34:52

Mysql ne supporte aucune requete imbriquée

Répondre à xav

8

 Titi, le 11 avr 2007 à 15:54:19

Si mysql supporte les requêtes imbriquées mais a partir de la version 4.1

Répondre à Titi