IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

sous-requete de ligne


Sujet :

Requêtes MySQL

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 44
    Par défaut sous-requete de ligne
    J'ai un problème avec la sous-requete que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    --UPDATE participation_cadre SET PAR_DATEPAIE = CURDATE() 
    SELECT * FROM participation_cadre
    WHERE (MAN_ID, CAD_ID) IN 
    ( 
      SELECT manifestation.MAN_ID, cadre.CAD_ID 
      FROM cadre 
      INNER JOIN participation_cadre ON cadre.CAD_ID = participation_cadre.CAD_ID 
      INNER JOIN manifestation ON participation_cadre.MAN_ID = manifestation.MAN_ID 
      WHERE PAR_DATERES IS NOT NULL 
      AND PAR_DATERES > CURDATE() 
      AND MAN_DATE < CURDATE() 
      AND PAR_MODEPAIE IS NOT NULL 
      AND PAR_DATEPAIE IS NULL 
      AND PAR_ATTENTE = 0 
      AND cadre.CAD_ID IN (1)
      LIMIT 0,1
    )
    Bien sûr, vous allez trouver stupide de faire une sous-requete à mon premier select. En fait, vous pouvez voir en commentaire que j'ai besoin de ma sous-requete pour faire un UPDATE. Le SELECT est juste là pour tester.

    Selon cette doc MySQL http://dev.mysql.com/doc/mysql/fr/row-subqueries.html, je peux faire une sous-requete sur 2 champs. Or, MySQL me répond que j'ai une erreur de syntaxe près de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CAD_ID) IN 
    ( 
      SELECT manifestation.MAN_ID, cadre.CAD_ID
    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE ROW(MAN_ID, CAD_ID) IN (
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE ROW(MAN_ID, CAD_ID) MATCH (
    mais rien n'y fait...

    (MySQL 4.0.15)

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    Mauvaise nouvelle pour toi:

    MySQl ne gere les sous requetes qu' a partir de la version 4.1

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 44
    Par défaut
    Et en plus c'était écrit tout en bas sur la doc au niveau du sommaire des sous-requetes.

    Merci, je n'ai plus qu'à voir si mon hébergeur a MySQL 4.1 (je suis mal barré)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/07/2009, 16h01
  2. Réponses: 7
    Dernier message: 03/10/2007, 19h06
  3. Réponses: 4
    Dernier message: 31/10/2006, 16h47
  4. probleme de sous requete
    Par JD_Lyon dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 09/04/2004, 22h18
  5. Requete avec une sous-requete... Ne fonctionne qu'a moitie..
    Par mythtvtalk.com dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 18/08/2003, 09h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo