Bonjour, le titre n'est pas très parlant donc je vair tenter d'être le plus précis possible.
Soit les tables suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 code(idCode, code, type) zone(idZone, codeZone, libelle) data(code,tarif_zone1,tarif_zone2,tarif_zone3)
code contient :
1 1 voiture
2 110 camion
3 210 avion
zone contient :
1 zone1 paris
2 zone2 marseille
3 zone3 madrid
data contient:
1 10 20 30
2 40 60 30
3 10 10 50
En exécutant la requête suivante :
j'obtiens
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT d.code, type,idZone, codeZone, libelle FROM data d INNER JOIN code cde ON cde.CODE=d.code CROSS JOIN zone
Est-il possible de joindre les tables code, zone et data pour avoir une unique colone tarif avec pour contenue les tarifs en fonction de la zone ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 code type tarif_zone1 tarif_zone2 tarif_zone3 idZone codeZone libelle ------- ----------- ----------- ------ ----------- -------- -------- ---------- 1 voiture 10 20 30 1 zone1 paris 2 camion 40 60 30 2 zone2 marseille 3 Avions 10 10 50 3 zone3 madrid (3*ligne(s) affectée(s))
C'est-à-dire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 code type tarif idZone codeZone libelle --------- -------- ----------- -------- ---------- ---------- 1 voiture tarif_zone1 1 zone1 paris 2 camion tarif_zone2 2 zone2 marseille 3 Avions tarif_zone3 3 zone3 madrid (3*ligne(s) affectée(s))
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 code type tarif idZone codeZone libelle --------- -------- ----------- -------- ---------- ---------- 1 voiture 10 1 zone1 paris 2 camion 60 2 zone2 marseille 3 Avions 50 3 zone3 madrid (3*ligne(s) affectée(s))
Partager