Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/04/2011, 09h42   #1
Modérateur
 
Avatar de SergioMaster
 
Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 3 612
Détails du profil
Informations personnelles :
Nom : Serge Girard
Âge : 55
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 3 612
Points : 4 509
Points : 4 509
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 :
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 ?
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 10h11   #2
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 754
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 49
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 754
Points : 6 767
Points : 6 767
Salut

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

Enhancements to UNION Handling

@+
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 08h00   #3
Modérateur
 
Avatar de SergioMaster
 
Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 3 612
Détails du profil
Informations personnelles :
Nom : Serge Girard
Âge : 55
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 3 612
Points : 4 509
Points : 4 509
Le doute est levé , merci
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h03.


 
 
 
 
Partenaires

Hébergement Web