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 :

select distint() sur deux tables


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Points : 108
    Points
    108
    Par défaut select distint() sur deux tables
    Bonjour,

    Un cas d'école peut être mais je ne trouve nulle part la solution ...

    j'ai deux tables identiques : base et affret
    elles ont exactement la même conformation ( describe identique) .

    Le but est ensuite d'extraire pour chaque CpteClient la TOTALITE de la livraison du jour concerné.
    ( Nb isssu de base + Nb issu d' affret et pour ça ma boucle marche bien ... )

    Mais j'ai besoin d'extraire tous les CpteClient DISTINCT, pour une PF et un jour donné .
    Bien évidemment, il y a des CpteClient présent dans l'une et pas dans l'autre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    "select distinct(CpteCli)
    from base,affret
    where PF='$PF'
    and date_expe = '$date'
    order by CpteCli "
    serait parfait mais c'est 'ambigus' pour mysql.
    Après je sèche, rien de ce que je tente ne marche.

    Faut il passer par une double requette ( 1 sur chaque table ) et refaire un tri sur les deux premiers résultats ?

    si quelqu'un a une voie à m'indiquer j'en serais ravi !

  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 : 41
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    salut

    plus quelque chose dans ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select distinct col from table1 where ...
    union
    select distinct col from table 2 where ...

  3. #3
    Membre régulier Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Points : 108
    Points
    108
    Par défaut exact :)
    merci cela fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select count(distinct(CpteCli)) from affret where PF='$PF' and date_expe ='02.05.2008' UNION select count(distinct(CpteCli)) from base where PF='$PF' and date_expe ='02.05.2008';
    donne :
    +--------------------------+
    | count(distinct(CpteCli)) |
    +--------------------------+
    | 5 |
    | 114 |
    +--------------------------+
    soit 119 résultats,
    alors que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select distinct(CpteCli) from affret where PF='$PF' and date_expe ='02.05.2008' UNION select distinct(CpteCli) from base where PF='$PF' and date_expe ='02.05.2008';
    ne m'en renvoie que :

    117 rows in set (0.00 sec)

    Et je sais à force de test que c'est le nombre juste !

    Merci, j'ignorai cette fonctionnalité, mais je vais l'étudier de près .

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

Discussions similaires

  1. Faire un select test sur deux tables non liées
    Par dev14 dans le forum Requêtes
    Réponses: 4
    Dernier message: 27/01/2014, 12h11
  2. Réponses: 2
    Dernier message: 26/11/2008, 09h43
  3. Requete mysql : select sur deux tables
    Par IP-Fix dans le forum Requêtes
    Réponses: 9
    Dernier message: 12/11/2008, 16h03
  4. SELECT sur deux tables
    Par Gaetch dans le forum Langage SQL
    Réponses: 1
    Dernier message: 13/07/2007, 15h40
  5. Select sur deux tables
    Par DJuL- dans le forum Requêtes
    Réponses: 2
    Dernier message: 01/03/2007, 14h40

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