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

SQL Firebird Discussion :

pour lever un doute


Sujet :

SQL Firebird

  1. #1
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut pour lever un doute
    Voila , j'ai besoin de faire une union entre deux tables
    une table Stocks Matieres

    Citation Envoyé par simplifié
    STOCKMP
    MATIERE CHAR(5)
    COLORIS CHAR(3)
    POINTURE CHAR(3)
    contenu
    '1114',000','0'
    '1114,'001','0'
    '1114','005','0'
    etc..

    et Besoins Matieres
    Citation Envoyé par simplifié
    BESOINS
    MATIERE CHAR(5)
    COLORIS CHAR(3)
    POINTURE CHAR(3)
    contenu
    '1114','003','0'
    '1114','005','0'
    etc..

    Sachant que j'ai des Besoins qui ne sont peut être pas encore en stock
    j'ai besoin d'avoir les différent coloris pour une matière (i.e. la 1114)
    voilà mon expression

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT DISTINCT S.MATIERE,S.COLORIS FROM STOCKMP S
    WHERE S.MATIERE='1114'
    UNION
    SELECT DISTINCT B.MATIERE,B.COLORIS FROM BESOINS B
    WHERE B.MATIERE='1114'
     
    ORDER BY 1,2
    j'obtiens bien
    '1114','000'
    '1114','001'
    '1114','003'
    '1114','005'

    ce qui est parfait , mais je croyais obtenir
    '1114','000'
    '1114','001'
    '1114','003'
    '1114','005'
    '1114','005' << rappel de celle-ci puisque dans les 2 tables

    Normal ? si oui quelle est l'explication logique , ca a certainement a voir avec le DISTINCT mais
    est-ce le bon SQL ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Oui c'est à cause du DISTINCT mais pas celui du SELECT, celui de l'UNION qui est implicite.

    Enhancements to UNION Handling

    @+

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Le doute est levé , merci
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

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

Discussions similaires

  1. Lever un doute sur le script shell
    Par PaulNero dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 14/03/2013, 13h34
  2. TAD et POD: lever le doute
    Par koala01 dans le forum C++
    Réponses: 7
    Dernier message: 30/12/2008, 19h00
  3. Doute et Peur pour installer
    Par Louis Griffont dans le forum Ubuntu
    Réponses: 4
    Dernier message: 21/04/2008, 15h12
  4. lever une EXCEPTION pour 2 blocs séparés
    Par atruong dans le forum Oracle
    Réponses: 2
    Dernier message: 05/05/2006, 10h27

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