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

 MySQL Discussion :

faire un double select


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2008
    Messages : 78
    Par défaut faire un double select
    bonjour,

    voilà, après quelques recherches pendant une grosse partie de la matinée et tout le début de l'après-midi, je n'ai rien trouvé comme solution à mon problème. et pourtant, spas faute d'avoir chercher dans les doc du sites etc.. !! ou alors, j'ai de la m* dans les yeux et je cherches très mal (ce qui est possible aussi)

    fin bref, trêve de blablatage, voici mon problème

    j'ai plusieurs tables : fiche_pdt, catalogue etc...

    je souhaiterais faire un select de toute la première table en fonction de la référence excepté un champ qui lui sera sélectionné via une référence et un id déjà existant.

    ce que je pensais donc faire c'était un select d'un select.. mais toute mes tentatives ne fonctionnes pas.

    pour être plus clair, je vais vous mettre ce que j'ai tenté de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select `ref`, `nom`, `age`, `img`, `cdc`, `cdc2`, `buy` 
    from `fiches_pdt` 
    where `ref`=00002 
      and `fiches_pdt`.`txt` = (
        select `txt`, `fin` 
        from `fiches_pdt`, `catalogue` 
        WHERE `fiches_pdt`.`ref` = `catalogue`.`prod_ref` 
          and `ref`=00001 and prod_id = 346);
    peut-être que ma question est vraiment bête, et que la solution est quelque part dans le site et que je n'ai pas trouvé, si c'est le cas, j'en suis désolée et je suis prenante de tout lien pour m'aider

    merci beaucoup

    et si vous ne comprenez pas ce que je souhaite faire, dite-le moi, j'expliquerais autrement

    merci

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    Citation Envoyé par rastacouaire Voir le message
    je souhaiterais faire un select de toute la première table en fonction de la référence excepté un champ qui lui sera sélectionné via une référence et un id déjà existant.
    ....
    et si vous ne comprenez pas ce que je souhaite faire, dite-le moi, j'expliquerais autrement
    Cette partie-là, ce serait bien que tu l'explicites.
    Dankon.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2008
    Messages : 78
    Par défaut
    alors, j'ai ma table fiches_pdt

    cette fiche contient les champs suivant :

    `ref`, `nom`, `age`, `img`, `txt`, `fin`, `cdc`, `cdc2`, `buy`

    à la base c'est utilisé sous php, je souhaites faire une copie d'une entrée de catalogue.

    et donc cette copie récupère des informations de la ligne copié, notamment txt et fin. le reste elle le récupère autrement (déjà fait )

    et donc ma requête sql, pour récupérer les infos à la base est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM fiches_pdt WHERE ref= 00001
    sauf que là, txt et fin sont à récupérer ailleurs.

    la requête toute seule pour récupérer ces deux valeurs, je sais le faire c'est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select `txt`, `fin` from `fiches_pdt`, `catalogue` 
    	WHERE `fiches_pdt`.`ref` = `catalogue`.`prod_ref` and `prod_id`=360
    et donc moi, je souhaiterais faire un mix des deux.

    c'est possible?

    est-ce compréhensible? ou toujours pas? ^^

  4. #4
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    J'essaye de comprendre la logique de ta requête, à défaut de sa syntaxe, mais c'est peine perdue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT `ref`, `nom`, `age`, `img`, `cdc`, `cdc2`, `buy` 
    FROM `fiches_pdt` 
    LEFT JOIN `catalogue` ON `fiches_pdt`.`ref` = `catalogue`.`prod_ref`
    WHERE `ref`=00002 
    AND `fiches_pdt`.`txt` = ????
    AND prod_id = 346;
    Je ne comprends pas par quelle valeur de `fiches_pdt`.`txt` tu veux filtrer.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2008
    Messages : 78
    Par défaut
    malgré ma deuxième explication? ou sans elle?

    car je crois que nos posts se sont croisé

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Grosso modo tu veux sélectionner tout ce qui a pour valeur '000001' dans la colonne ref mais en remplaçant les valeurs de txt et fin par le résultat d'une requête?

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2008
    Messages : 78
    Par défaut
    grosso modo oui c'est ça

    c'est valeur existant déjà

  8. #8
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Un truc dans le style devrait faire l'affaire.

    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
     
     SELECT 
      f1.ref,
      f1.nom      ,
      f1.age      ,
      f1.img      ,
      f1.cdc      ,
      f1.cdc2     ,
      f1.buy      ,
      f2.txt      ,
      f2.fin      ,
      FROM fiches_pdt f1, fiches_pdt f2
      inner join catalog on f2.ref = catalog.prod_ref
      where f1.ref='00001'
      and f2.prod_id=360

Discussions similaires

  1. comment faire un insert, + select + update dans la meme requete
    Par jam92400 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 27/06/2006, 18h33
  2. faire rectangle de selection puis cut/paste
    Par linkB2 dans le forum 2D
    Réponses: 4
    Dernier message: 28/04/2006, 12h02
  3. Un double Select doublé d un "for each" qui coince
    Par Sparal dans le forum Access
    Réponses: 4
    Dernier message: 09/02/2006, 14h00
  4. double selection impossible
    Par Ghost Dog dans le forum OpenGL
    Réponses: 3
    Dernier message: 12/05/2005, 19h42

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