probleme requete sql jointure entre les tables

probleme requete sql jointure entre les tables - SQL/NoSQL - Programmation

Marsh Posté le 10-08-2011 à 12:17:27    

Bonjour,
 
je travaille avec mysql en java
j'ai deux tables :
 
create table livraison_f(n_livraison_f int(4) ZEROFILL not null auto_increment , cle_fournisseur varchar(30), date DATE, tva double ,t_ht double, t_ttc double,primary key (n_livraison_f));
 
et
 
create table concerne_fact_f(n_facture_f varchar(30) not null , n_livraison_f varchar(30) not null primary key, cle_fournisseur varchar(30) not null);
 
et je veux obtenir les n_livraison_f qui se trouve dans livraison_f et pas dans concerne_fact_f
j'ai excecuté ;
 
SELECT n_livraison_f from livraison_f where n_livraison_f != (select n_livraison_f from concerne_fact_f );
 
mais elle me donne aucun numero alors qu'il ya
 
quesque vous me proposez
 
merci d'avance

Reply

Marsh Posté le 10-08-2011 à 12:17:27   

Reply

Marsh Posté le 10-08-2011 à 13:57:50    

Essaye avec une claise exists ou avec un not in plutot.

Code :
  1. SELECT n_livraison_f from livraison_f l
  2. where not exists (select null from concerne_fact_f  f where l.n_livraison_f = f.n_livraison_f);


ou

Code :
  1. SELECT n_livraison_f from livraison_f l
  2. where n_livraison  in not (select distinct n_livraison_f from concerne_fact_f);

Reply

Marsh Posté le 10-08-2011 à 14:18:15    

Code :
  1. SELECT n_livraison_f
  2. FROM livraison_f l LEFT JOIN concerne_fact_f  cf ON l.n_livraison_f  = cf.n_livraison_f  
  3. WHERE cf.n_facture_f  IS NULL 


au passage  n_livraison_f n'est pas du meme type dans tes deux tables


Message édité par flo850 le 10-08-2011 à 14:18:34

---------------

Reply

Marsh Posté le 10-08-2011 à 17:34:47    

merci bien
ca marché avec not in au lieu de !=

Reply

Marsh Posté le 10-08-2011 à 21:07:04    

mais c'est sale et peu performant


---------------

Reply

Sujets relatifs:

Leave a Replay

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