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 :

#1054 - Unknown column 'mod' in 'IN/ALL/ANY subquery'


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Par défaut #1054 - Unknown column 'mod' in 'IN/ALL/ANY subquery'
    Bonjour,
    j'ai un problème sur le quel je viens de sécher près de trois quart d'heure et que je n'ai toujours pas réussi à résoudre.

    Inutile d'expliquer la structure de ma table je crois ...
    Voici la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM memory_mod WHERE author = 55 AND `mod` NOT IN(SELECT memory_j_mod_card.`mod` FROM memory_j_mod_card WHERE card = 44)
    et l'erreur :

    #1054 - Unknown column 'mod' in 'IN/ALL/ANY subquery'

    je me suis rendu compte trop tard que 'mod' était un mot clés réservés, mais le projet était trop entamé pour revenir en arrière.

    je n'ai presque rien trouvé sur le net, sinon sur stackOverflow où le problème à été résolu grâce à un alias. J'ai essayé aussi, mais bernique ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM memory_mod WHERE author = 55 AND `mod` NOT IN(SELECT  memory_j_mod_card.`mod` AS xxx FROM memory_j_mod_card WHERE card = 44)
    En lisant l'erreur, je crois comprendre que MySQL n'a pas trouvé la colonne 'mod' dans la sous-requête. Mais j'ai déjà fait plein de sous-requêtes, et je n'ai jamais eu le pb. Surtout que dans une clause IN, MySQL n'a pas besoin de savoir le nom de la colonne dans la sous requête puisqu'il n'y a qu'une seule colonne ...

    merci d'avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Bonjour,

    Et est-ce qu'en passant par une jointure externe vous avez le même problème ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT * 
    FROM memory_mod a
    left outer join memory_j_mod_card b on a.`mod` = b.`mod` and b.card = 44
    WHERE a.author = 55 AND b.card is null

    Et avec un not exists ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT * 
    FROM memory_mod a
    WHERE author = 55 AND NOT EXISTS (SELECT  null 
    FROM memory_j_mod_card b WHERE b.card = 44 and a.`mod` = b.`mod`)

  3. #3
    Membre éclairé
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Par défaut
    aussi:
    avec la première requête :

    #1054 - Unknown column 'a.mod' in 'on clause'

    pour la deuxième :

    #1054 - Unknown column 'a.mod' in 'where clause'

    merci beaucoup.

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    et quel est la définition de votre table : memory_j_mod_card ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Première S
    Inscrit en
    Juillet 2010
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Première S

    Informations forums :
    Inscription : Juillet 2010
    Messages : 266
    Par défaut
    mm ... il n'y a pas de clé primaire.
    en fait, j'ai un champs card et un champs mod, et ces deux colonnes forment une clés unique, que je n'ai pas encore mise le temps de faire les test sans contraintes ... c'est vrai que je n'y ai pas pensé, je vais essayé en créant cette clé.

    EDIT

    helas non, même résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ma table memory_j_mod_card :
     
    -- mod INT --- card INt ---
     
           Primary Key (mod, card);
     
    ma table memory_mod
     
    id (INT Primaty KEY), name VARCHAR(225)  etc.

  6. #6
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    salut,

    l'erreur c'est que "mod" n'est pas une colonne de ta sous requête...

    regarde donc sa définition

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

Discussions similaires

  1. #1054 - Unknown column 'dateRecherche' in 'where clause
    Par omelhor dans le forum Requêtes
    Réponses: 5
    Dernier message: 30/12/2011, 11h01
  2. 1054 - Unknown column 'L' in 'field list'
    Par Pacman23 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 05/10/2009, 10h12
  3. erreur : #1054 - Unknown column 'Martin' in 'where clause'
    Par éric1 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/08/2009, 15h29
  4. 1054 - Unknown column 'language_id' in 'where clause'
    Par Tonio_17000 dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/06/2009, 22h01
  5. Unknown column sur un INSERT
    Par jexl dans le forum Requêtes
    Réponses: 3
    Dernier message: 19/10/2005, 00h28

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