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 :

Recherche un item non traduit en id_langu=x


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 26
    Points : 20
    Points
    20
    Par défaut Recherche un item non traduit en id_langu=x
    Bonjour à tous,

    là je butte sur une requête à priori simple..

    Ma table se présente sous cette forme, avec trois colonnes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE `pages_contenus_textes` (
      `id_page_contenu` int(11) NOT NULL,
      `id_langue` smallint(6) NOT NULL,
      `texte` text COLLATE utf8_bin NOT NULL
    );
    J'aimerai récupérer tous les textes non traduits dans une langue donnée.

    C'est à dire chercher quel id_page_contenu n'est pas traduit en langue 305 par exemple.

    Je peux avoir les entrées:
    1,108,"mon texte en français"
    1,202,"mi texto en español"
    2,108,"deuxième texte FR",
    2,202,"segundo texto Es",
    2,305,"Mi texto italiano IT,

    Comment ressortir l'id_page_contenu=1 seulement?

    Ce genre de requête ne fonctionne pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT 
    	t.*
    FROM `pages_contenus_textes` t  
    WHERE id_page_contenu  NOT IN  (	select GROUP_CONCAT(id_page_contenu)
     		from `pages_contenus_textes` 
     		WHERE id_langue=305
     	)
    GROUP BY id_page_contenu 
    ORDER BY  id_page_contenu ASC
    Le group_concat retourne une valeur string je suppose et le NOT IN ne le comprend pas comme des entiers séparés par des virgules...

    Il doit y avoir une solution plus simple... comment feriez-vous?
    Merci d'avance!

    Clem

  2. #2
    Membre averti Avatar de GyZmoO
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 428
    Points : 301
    Points
    301
    Par défaut
    Salut !

    Voici une tentative de solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT DISTINCT(p1.id_page_contenu) 
    FROM pages_contenus_textes p1
    LEFT OUTER JOIN (SELECT id_page_contenu FROM pages_contenus_textes WHERE id_langue = 305) p2
    ON p1.id_page_contenu = p2.id_page_contenu
    WHERE p2.id_page_contenu IS NULL
    Cela devrait fonctionner. Si y'a un truc que tu piges pas pose les questions

    Cela dit, je ne suis pas certain que cela soit la meilleure solution !
    Si un cador SQL passe dans le coin, il sera le bienvenue

    Ps : la guerre des étoiles c'est le mal : http://www.expreg.com/fred_article.p...re_des_etoiles
    define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    Excellent! La réflexion est pas évidente...

    Pour la guerre des étoiles.. c'était simplifié pour l'exemple
    Merci pour ton aide!

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

Discussions similaires

  1. recherche fulltext : mot non trouvé
    Par sam01 dans le forum Requêtes
    Réponses: 1
    Dernier message: 30/05/2006, 14h03
  2. [forms 6i] CLEAR_FORM + item non réinitialisé
    Par Magnus dans le forum Oracle
    Réponses: 4
    Dernier message: 28/12/2005, 15h57
  3. [VB.NET] Recherche d'item dans ComboBox
    Par arno2000 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/12/2005, 14h07
  4. Recherche de doublons "non strict"
    Par Oluha dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/01/2005, 09h21

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