REQUETE SQL - Programmation
Marsh Posté le 25-02-2002 à 16:28:25
SELECT AR_REF  
FROM F_ARTICLE  
WHERE AR_REF NOT IN( SELECT AR_REF FROM PRICE);  
 
 
c'est laid mais ca doit marcher 
Marsh Posté le 25-02-2002 à 16:41:04
C'est sur quel systeme de base de données 
 
si c'est mysql c'est normal pas de support des select imbriqués 
Marsh Posté le 25-02-2002 à 16:42:21
ca te dit quoi? 
 
ca marche pas parce que le résultat est mauvais ou parce que la syntaxe est mauvaise ? 
Marsh Posté le 25-02-2002 à 17:09:20
SELECT AR_REF 
FROM F_ARTICLE 
WHERE NOT EXISTS ( SELECT 1 FROM PRICE WHERE PRICE.AR_REF=F_ARTICLE.AR_REF); 
 
en version plus performante: 
SELECT F.AR_REF 
FROM F_ARTICLE F LEFT OUTER JOIN PRICE P ON (P.AR_REF=F.AR_REF) 
WHERE P.AR_REF is null 
Marsh Posté le 25-02-2002 à 17:19:12
SELECT AR_REF 
FROM F_ARTICLE 
WHERE EXISTS ( SELECT AR_REF FROM PRICE WHERE PRICE.AR_REF=F_ARTICLE.AR_REF); 
 
MARCHE ET RENVOIE LES TRUCS EGAUX L AUTRE NE MARCHE PO 
Marsh Posté le 25-02-2002 à 17:22:33
question à 2 eurocents : est-ce que la table AR_REF  possède bien des lignes que l'autre n'a pas ?  
 
 
On sait jamais .... 
Marsh Posté le 25-02-2002 à 17:22:38
j ai fait le test sur 2 autres tables moins volumineuses 
SELECT NOM 
FROM TABLE2 
WHERE TABLE2.NOM NOT IN  (SELECT NOM FROM TABLE1); 
 
CHamps : NOM pour table1 
         axel 
         rapha 
 
CHamps : NOM pour table2 
         romain 
         axel 
         rapha 
 
resultat romain donc ca marche bien mais po ds ma base  
pk ca rame ??? 
Marsh Posté le 25-02-2002 à 17:23:41
| axelkoala a écrit a écrit  : PERDU  CA MARCHE PO | 
 
 
bien sur ca marche 
c'est les données qui ne te retournent pas de résultats c tout 
ou alors tu t'es mal exprimé sur ce que tu voulais faire 
Marsh Posté le 25-02-2002 à 17:24:49
SELECT NOM 
FROM TABLE2 
WHERE NOT EXISTS ( SELECT 1 FROM TABLE1 WHERE TABLE1.NOM=TABLE2.NOM); 
 
MARCHE BIEN DANS LA PETITE BASE 
Marsh Posté le 25-02-2002 à 17:25:55
| axelkoala a écrit a écrit  : SELECT NOM FROM TABLE2 WHERE NOT EXISTS ( SELECT 1 FROM TABLE1 WHERE TABLE1.NOM=TABLE2.NOM); MARCHE BIEN DANS LA PETITE BASE | 
 
 
bah marche dans la grande aussi alors, mais prends plus de temps, c tout  
 
Marsh Posté le 25-02-2002 à 17:26:26
elles sont grosses tes 2 tables ? 
 
c'est quoi le SGBD? 
Marsh Posté le 25-02-2002 à 17:31:10
SGBD SAGE IMPORTER DANS ACCESS  
3600 lignes pour les produits 
Marsh Posté le 25-02-2002 à 16:26:05
J ai 2 table AF_ARTICLE et PRICE
 
 
avec les memes champs AR_REF,AR_DESIGN,AR_PRIXACH,AR_PRIXVEN
je voudrais les comparer et faire resortir les AR_REF qui sont dans une table et po dans l autre
SELECT AR_REF
FROM F_ARTICLE
WHERE NOT EXISTS ( SELECT AR_REF FROM PRICE);
NE MARCHE PO MERCI D AVANCE