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