Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec MySQL
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 04/05/2011, 11h30   #1
Candidat au titre de Membre du Club
 
Inscription : février 2009
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 38
Points : 10
Points : 10
Par défaut Probleme avec un select sur deux tables

Bonjours a tous,

Voilà je suis confronté a un probleme qui doit être tout bête mais je n'arrive pas a comprendre comment le resoudre.

J'ai 2 tables:

Une table Contrat
- id_contrat
- num_avenant

- nom_contrat

id_contrat et num_avenant forment la clef primaire

Une table Facturation
- id_contrat
- avenant
- serviceOrder
- pays

- coutJournee

id_contrat, num_avenant, serviceorder, pays forment la clef primaire
id_contrat et avenant sont 2 clefs étrangères pointant sur la table contrat.


Dans ma table Contrat j'ai les données suivantes :

id_contrat - num_avenant - nom_contrat
2 - 2 - Contrat 1
2 - 3 - Contrat 1

Dans ma table Facturation j'ai :

id_contrat - num_avenant - serviceOrder - pays - coutJournee
2 - 2 - 'N/A' 'All' - 500
2 - 3 -'N/A' 'All' - 600


Lorsque j’exécute ma requête elle me retourne mes deux résultats sans tenir compte des conditions.

Code sql :
1
2
3
4
5
6
7
8
 
SELECT contrat.id_contrat, contrat.num_avenant, serviceOrder, coutJournee 
FROM FACTURATION, CONTRAT 
WHERE FACTURATION.id_contrat = CONTRAT.id_contrat 
AND CONTRAT.id_contrat = '2' 
AND CONTRAT.num_avenant = '2'
AND serviceOrder = 'N/A' 
AND pays = 'All'

Résultat :



Je vous remercie par avance de votre aide
Bonne journée
nakk01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 11h41   #2
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
Dans le résultat de la requête, il sort d'où le "7" dans coût journée ? Je le vois pas dans les tables.
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 11h52   #3
Candidat au titre de Membre du Club
 
Inscription : février 2009
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 38
Points : 10
Points : 10
Bonjour Nheo_,
Merci de t’intéresser a mon cas.

En fait le 7 est une valeur test dans mon message j'ai mis '500' pour faire plus réaliste mais je pense pas que ça change vraiment le fond du problème.


Merci de votre aide
nakk01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 13h17   #4
Candidat au titre de Membre du Club
 
Inscription : février 2009
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 38
Points : 10
Points : 10
Bon problème apparemment résolu, il me manquait une jointure en fait

Code sql :
1
2
3
4
5
6
7
8
SELECT contrat.id_contrat, contrat.num_avenant, serviceOrder, coutJournee 
FROM FACTURATION, CONTRAT 
WHERE FACTURATION.id_contrat = CONTRAT.id_contrat 
AND FACTURATION.num_avenant = CONTRAT.num_avenant
AND CONTRAT.id_contrat = '2' 
AND CONTRAT.num_avenant = '2'
AND serviceOrder = 'N/A' 
AND pays = 'All'
nakk01 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 10h53.


 
 
 
 
Partenaires

Hébergement Web