Rechercher : dans
Par :

Access Requete SQL différence table

Dernière réponse le 26 aoû 2008 à 14:05:33 artamys, le 25 aoû 2008 à 18:03:29 
 Signaler ce message aux modérateurs

Bonjour,
j'ai besoin de faire la différence entre deux tables.
Les deux champs sont numériques. Entier long.
Ils s'appelent NumProjet.

J'ai deux tables.
La table TB_Projet contenant tous les projets.
La Table TB_DEI contenant une colonne NumProjet pouvant contenir des valeurs ou sinon elles sont vide. Valeur du champ null.

LA relation est 1 infini respectivement pour la table TB_Projet et TB_DEI

J'ai besoin de connaitre les NumProjet qui sont dans la table TB_Projet et qui ne sont pas dans la table TB_DEI.

J'ai fais ce cas pour deux évenements similaires qui marchent et la cela ne marche pas ???.

Mon code SQL :
KO :
SELECT TB_Projet.NumProjet, TB_Projet.NomProjet FROM TB_Projet WHERE TB_Projet.NumProjet NOT IN(SELECT NumProjet From TB_DEI);

KO :
SELECT TB_Projet.NumProjet
FROM TB_Projet
WHERE ((TB_DEI.NumProjet IS Null));

KO:
SELECT TB_Projet.NumProjet
FROM TB_Projet
WHERE (((TB_Projet.NumProjet) Not In (SELECT NumProjet FROM TB_DEI)));

Si quelqu'un a une ou la solution, merci

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « Access Requete SQL différence table » dans :
SQL - Création de table VoirLe SQL, comportant un langage de définition de données (LDD), permet de créer des tables. Pour cela, il utilise le couple de mots clés CREATE TABLE. La création de tables Le création de tables se fait à l'aide du couple de mots-clés CREATE...

1

zheimer, le 25 aoû 2008 à 22:07:03

Il y a un message d'erreur ou bien la requ^te ne ramène rien?

Répondre à zheimer

2

artamys, le 25 aoû 2008 à 23:38:24

Bonjour,
je n'ai pas de message d'erreur, le problème est que cela me retourne aucune valeur : rien vide.
Sauf qu'en réalité il existe des valeurs qui existent dans la première table et qui ne sont pas dans la seconde.

Répondre à artamys

3

fmvgld, le 26 aoû 2008 à 10:34:02
  • +1

Essaye cette requete

SELECT TB_Projet.NumProjet
FROM [TB_Projet] LEFT JOIN TB_DEI ON [TB_Projet]].[NumProjet] = TB_DEI.[NumProjet]
WHERE (((TB_DEI.[NumProjet]) Is Null));

Répondre à fmvgld

4

 artamys, le 26 aoû 2008 à 14:05:33

OK !!!
ça marche.
Merci beaucoup.

j'utiliserai cette autre possibilité en cas de nouveau problème.

Bonne journée.

Répondre à artamys
Collection CommentÇaMarche.net