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 :

creer requete "complexe"


Sujet :

Requêtes MySQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Points : 177
    Points
    177
    Par défaut creer requete "complexe"
    complexe pour moi

    j'ai 2 tables
    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
    18
     
    -- 
    -- Structure de la table `a_bann`
    -- 
     
    CREATE TABLE `a_bann` (
      `id` int(11) NOT NULL auto_increment,
      `nom` varchar(255) NOT NULL default '',
      PRIMARY KEY  (`id`)
    ) TYPE=MyISAM AUTO_INCREMENT=10 ;
     
    -- 
    -- Contenu de la table `a_bann`
    -- 
     
    INSERT INTO `a_bann` VALUES (9, TEST1);
    INSERT INTO `a_bann` VALUES (10, TEST2);
    INSERT INTO `a_bann` VALUES (11, TEST3);
    et
    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
     
    -- 
    -- Structure de la table `a_bann_link`
    -- 
     
    CREATE TABLE `a_bann_link` (
      `id_camp` int(11) NOT NULL default '0',
      `id_pool` int(11) NOT NULL default '0'
    ) TYPE=MyISAM;
     
    -- 
    -- Contenu de la table `a_bann_link`
    -- 
     
    INSERT INTO `a_bann_link` VALUES (9, 1);
    INSERT INTO `a_bann_link` VALUES (10, 1);
    INSERT INTO `a_bann_link` VALUES (11, 2);
    comment recuperer les enregistrement de la table "a_bann" qui ont un "id_pool" = 1 dans la table "a_bann_link"

    merci de votre aide

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Points : 177
    Points
    177
    Par défaut
    j'ai essayé avec cette requete mais meme si aucune erreur ne s'affiche
    je ne recupere pas les enregistrements voulus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT id FROM a_bann  WHERE id IN (SELECT * FROM a_bann_link where id_pool='1')

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut
    Et avec ceci, qu'est ce que ça donne?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT id FROM (SELECT * FROM a_bann_link WHERE id_pool='1')

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut
    Excuse, rectification :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT id FROM (SELECT * FROM a_bann_link WHERE id_pool='1') where id = id_pool

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Points : 177
    Points
    177
    Par défaut
    prescision :

    le id de la table a_bann correspond à
    id_camp de la table a_bann_link

    et je suis sur MySQL 3.23.51 ...

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT id FROM a_bann, a_bann_link WHERE id_pool='1' and id = id_camp

  7. #7
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    en écriture normalisée, c'est encore mieux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT id 
    FROM a_bann
      INNER JOIN a_bann_link ON a_bann.id = a_bann_link.id_camp
    WHERE id_pool=1
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

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

Discussions similaires

  1. [phpMyAdmin] requetes avec caractere quote 0060
    Par tremeur53 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 28/05/2011, 14h14

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