Oracle - besoin d'aide pour un outer join

Oracle - besoin d'aide pour un outer join - SQL/NoSQL - Programmation

Marsh Posté le 11-02-2008 à 11:18:02    

J'ai encore besoin d'un coup de pouce.
J'essaye de m'autoformer en PL SQL.
 
J'ai 2 tables : une table produit et une article.
 
Ma clé primaire de produit est le id du produit.
Ma clé étrangère de article est le id du produit.
 
J'ai 2 produits qui n'apparaissent pas dans la table article. Je dois juste afficher ces 2 produits.
 
Actuellement, j'arrive avec un outer join à afficher tous les produits de la table produit qui se trouve ou pas dans la table article.
select p.description  
from product p,  
item i
where p.product_id = i.product_id (+);
 
Comment faire pour afficher juste les 2 produits qui n'ont pas de correspondance dans la table article ?

Reply

Marsh Posté le 11-02-2008 à 11:18:02   

Reply

Marsh Posté le 11-02-2008 à 11:29:14    

Dans ton where

Code :
  1. AND i.product_id IS NULL
 

Note: je trouve la syntaxe oracle particulierement imbittable pour les jointures, tu ferais mieux de les écrires explicitement ( et du coup le where serait plus "logique" ):

Code :
  1. SELECT p.description  
  2. FROM product p
  3. LEFT OUTER JOIN item i ON  p.product_id = i.product_id
  4. WHERE i.product_id IS NULL


Message édité par anapajari le 11-02-2008 à 11:29:27

---------------
Software and cathedrals are much the same - first we build them, then we pray.
Reply

Marsh Posté le 11-02-2008 à 11:36:46    

c'est vrai que c'est plus clair version ANSI/ISO.
 
Merci pour ton aide :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed