je veux sélectionner des données de deux tables différentes, et comme résultat je veux comme résultat tous les données en commun mais aussi les données qui ne sont pas en commun de la deuxième table.
je veux sélectionner des données de deux tables différentes, et comme résultat je veux comme résultat tous les données en commun mais aussi les données qui ne sont pas en commun de la deuxième table.
Qu'avez-vous essayé ?
Email : http://scr.im/waldar
C'est ça.
En fait (je suis pas un adepte de cette norme), avec LEFT JOIN ça marche pareil non ?
More Code : More Bugs. Less Code : Less Bugs
Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP
Oui le OUTER n'est pas syntaxiquement obligatoire.
LEFT JOIN = LEFT OUTER JOIN.
Tout comme JOIN = INNER JOIN.
Email : http://scr.im/waldar
CA marche pas :s; il me ramène seulement les données communs entre la la table 1 et 2 ou les données de la table 1 mais ne me ramène pas les données de la table 2
=> UNION
Bon, on va arrêter de jouer aux devinettes :
C'est quoi le code testé, avec un jeu de données, le résultat obtenu et le résultat souhaité.
More Code : More Bugs. Less Code : Less Bugs
Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP
Ok.
table1:
Design Qte Mnt
produit 1 1 10
produit 2 2 5
produit 3 2 5.5
table2:
Design Qte Mnt
produit 1 1 10
produit 2 2 5
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select 1.Design,1.qte,1.Mnt from table1 Left join table2 on 1.Design=2.Design
Il n'y a aucun problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 WITH table1 AS ( SELECT 'produit 1' design, 1 qte, 10 mnt FROM dual UNION ALL SELECT 'produit 2' design, 2 qte, 5 mnt FROM dual UNION ALL SELECT 'produit 3' design, 2 qte, 5.5 mnt FROM dual ), table2 AS ( SELECT 'produit 1' design, 1 qte, 10 mnt FROM dual UNION ALL SELECT 'produit 2' design, 2 qte, 5 mnt FROM dual ) SELECT table1.Design,table1.qte, table1.Mnt, table2.mnt AS mnt2 FROM table1 LEFT JOIN table2 ON table1.Design=table2.Design DESIGN QTE MNT MNT2 produit 1 1 10 10 produit 2 2 5 5 produit 3 2 5.5
More Code : More Bugs. Less Code : Less Bugs
Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP
dsl jété pas tres précise
Ok.
table1:
Design Qte Mnt
produit1 1 10
produit2 2 5
produit3 2 5.5
produit5 1 1
table2:
Design Qte Mnt
produit1 1 10
produit2 2 5
produit6 2 5
Code :
j'ai besoin qu’il me ramène produit 1,produit 2 ,produit 3 ,produit 5,produit6
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT 1.Design,1.qte,1.Mnt FROM table1 LEFT JOIN table2 ON 1.Design=2.Design
Vous avez la réponse dans le post #7.
Email : http://scr.im/waldar
et pourquoi pas Full outer join ?
Par contre, je ne suis pas sûr de comprendre l'utilisation de la colonne Qte...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 WITH table1 AS ( SELECT 'produit 1' design, 1 qte, 10 mnt FROM dual UNION ALL SELECT 'produit 2' design, 2 qte, 5 mnt FROM dual UNION ALL SELECT 'produit 3' design, 2 qte, 5.5 mnt FROM dual UNION ALL SELECT 'produit 5' design, 1 qte, 1 mnt FROM dual ), table2 AS ( SELECT 'produit 1' design, 1 qte, 10 mnt FROM dual UNION ALL SELECT 'produit 2' design, 2 qte, 5 mnt FROM dual UNION ALL SELECT 'produit 6' design, 2 qte, 5 mnt FROM dual ) SELECT Nvl(table1.Design, table2.Design) As Design,Nvl(table1.qte, table2.qte) As qte, table1.Mnt, table2.mnt AS mnt2 FROM table1 Full Outer JOIN table2 ON table1.Design=table2.Design Order By Design DESIGN QTE MNT MNT2 produit 1 1 10 10 produit 2 2 5 5 produit 3 2 5,5 null produit 5 1 1 null produit 6 2 null 5
Ou un left join sur une union
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 WITH table1 AS ( SELECT 'produit1' design, 1 qte, 10 mnt FROM dual UNION ALL SELECT 'produit2' design, 2 qte, 5 mnt FROM dual UNION ALL SELECT 'produit3' design, 2 qte, 5.5 mnt FROM dual UNION ALL SELECT 'produit5' design, 1 qte, 1 mnt FROM dual ), table2 AS ( SELECT 'produit1' design, 1 qte, 10 mnt FROM dual UNION ALL SELECT 'produit2' design, 2 qte, 5 mnt FROM dual UNION ALL SELECT 'produit6' design, 2 qte, 5 mnt FROM dual ) SELECT w.Design, table1.qte, table1.Mnt FROM (SELECT design FROM table1 UNION SELECT design FROM table2) w LEFT JOIN table1 ON table1.Design=w.Design ORDER BY Design DESIGN QTE MNT produit1 1 10 produit2 2 5 produit3 2 5.5 produit5 1 1 produit6
More Code : More Bugs. Less Code : Less Bugs
Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager