Bonjour=20
Voici mon pb:=20
J'ai deux tables "Biens" et "Propositions" ou :
tables "Biens" : Liste de tous les biens
tables "Propositions" : liste des propositions de biens =20
effectu=E9es
J'aimerai conna=EEtre la m=E9thode pour pouvoir cr=E9er un=20
autre table et/ou requete afin d'avoir une liste de bien=20
non propos=E9.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pat07
Tu peux utiliser la requete de non correspondance requête nouveau assistant requete de non correspondance Patrick "sab" a écrit dans le message de news: 2a9301c48e9e$7245a3c0$ Bonjour Voici mon pb: J'ai deux tables "Biens" et "Propositions" ou : tables "Biens" : Liste de tous les biens tables "Propositions" : liste des propositions de biens effectuées
J'aimerai connaître la méthode pour pouvoir créer un autre table et/ou requete afin d'avoir une liste de bien non proposé.
Merci d'avance pour votre aide.
Sab.
Tu peux utiliser la requete de non correspondance
requête nouveau assistant requete de non correspondance
Patrick
"sab" <anonymous@discussions.microsoft.com> a écrit dans le message de news:
2a9301c48e9e$7245a3c0$a501280a@phx.gbl...
Bonjour
Voici mon pb:
J'ai deux tables "Biens" et "Propositions" ou :
tables "Biens" : Liste de tous les biens
tables "Propositions" : liste des propositions de biens
effectuées
J'aimerai connaître la méthode pour pouvoir créer un
autre table et/ou requete afin d'avoir une liste de bien
non proposé.
Tu peux utiliser la requete de non correspondance requête nouveau assistant requete de non correspondance Patrick "sab" a écrit dans le message de news: 2a9301c48e9e$7245a3c0$ Bonjour Voici mon pb: J'ai deux tables "Biens" et "Propositions" ou : tables "Biens" : Liste de tous les biens tables "Propositions" : liste des propositions de biens effectuées
J'aimerai connaître la méthode pour pouvoir créer un autre table et/ou requete afin d'avoir une liste de bien non proposé.
Merci d'avance pour votre aide.
Sab.
Gafish
Bonjour,
La requete suivante :
SELECT NumBien, NomBien FROM Biens WHERE NumBien NOT IN (SELECT DISTINCT NumBien FROM Proposition;)
en prenant NumBien comme identifiant unique des biens.
"sab" a écrit dans le message de news:2a9301c48e9e$7245a3c0$ Bonjour Voici mon pb: J'ai deux tables "Biens" et "Propositions" ou : tables "Biens" : Liste de tous les biens tables "Propositions" : liste des propositions de biens effectuées
J'aimerai connaître la méthode pour pouvoir créer un autre table et/ou requete afin d'avoir une liste de bien non proposé.
Merci d'avance pour votre aide.
Sab.
Bonjour,
La requete suivante :
SELECT NumBien, NomBien
FROM Biens
WHERE NumBien NOT IN (SELECT DISTINCT NumBien FROM Proposition;)
en prenant NumBien comme identifiant unique des biens.
"sab" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:2a9301c48e9e$7245a3c0$a501280a@phx.gbl...
Bonjour
Voici mon pb:
J'ai deux tables "Biens" et "Propositions" ou :
tables "Biens" : Liste de tous les biens
tables "Propositions" : liste des propositions de biens
effectuées
J'aimerai connaître la méthode pour pouvoir créer un
autre table et/ou requete afin d'avoir une liste de bien
non proposé.
SELECT NumBien, NomBien FROM Biens WHERE NumBien NOT IN (SELECT DISTINCT NumBien FROM Proposition;)
en prenant NumBien comme identifiant unique des biens.
"sab" a écrit dans le message de news:2a9301c48e9e$7245a3c0$ Bonjour Voici mon pb: J'ai deux tables "Biens" et "Propositions" ou : tables "Biens" : Liste de tous les biens tables "Propositions" : liste des propositions de biens effectuées
J'aimerai connaître la méthode pour pouvoir créer un autre table et/ou requete afin d'avoir une liste de bien non proposé.
Merci d'avance pour votre aide.
Sab.
guillaume
humm : supposons que la clé de Bien soit idBien : SELECT idBien FROM BIEN WHERE idBien NOT IN (SELECT idBien FROM Proposition ) ; Mathématiques ensemblistes : "Tous les biens" - "ceux proposés" = "ceux qui n'ont pas été proposés"
-----Message d'origine----- Bonjour Voici mon pb: J'ai deux tables "Biens" et "Propositions" ou : tables "Biens" : Liste de tous les biens tables "Propositions" : liste des propositions de biens effectuées
J'aimerai connaître la méthode pour pouvoir créer un autre table et/ou requete afin d'avoir une liste de bien non proposé.
Merci d'avance pour votre aide.
Sab.
.
humm :
supposons que la clé de Bien soit idBien :
SELECT idBien
FROM BIEN
WHERE idBien NOT IN
(SELECT idBien
FROM Proposition
)
;
Mathématiques ensemblistes :
"Tous les biens" - "ceux proposés" = "ceux qui n'ont pas
été proposés"
-----Message d'origine-----
Bonjour
Voici mon pb:
J'ai deux tables "Biens" et "Propositions" ou :
tables "Biens" : Liste de tous les biens
tables "Propositions" : liste des propositions de biens
effectuées
J'aimerai connaître la méthode pour pouvoir créer un
autre table et/ou requete afin d'avoir une liste de bien
non proposé.
humm : supposons que la clé de Bien soit idBien : SELECT idBien FROM BIEN WHERE idBien NOT IN (SELECT idBien FROM Proposition ) ; Mathématiques ensemblistes : "Tous les biens" - "ceux proposés" = "ceux qui n'ont pas été proposés"
-----Message d'origine----- Bonjour Voici mon pb: J'ai deux tables "Biens" et "Propositions" ou : tables "Biens" : Liste de tous les biens tables "Propositions" : liste des propositions de biens effectuées
J'aimerai connaître la méthode pour pouvoir créer un autre table et/ou requete afin d'avoir une liste de bien non proposé.
Merci d'avance pour votre aide.
Sab.
.
Sylvain Lafontaine
En plus de l'opérateur « Not IN » mentionné dans les réponses précédentes, vous pouvez également utiliser l'opérateur Not Exists:
SELECT * FROM Bien WHERE Not Exists (SELECT * FROM Proposition Where Proposition.IdBien = Bien.IdBien)
S. L.
"sab" wrote in message news:2a9301c48e9e$7245a3c0$ Bonjour Voici mon pb: J'ai deux tables "Biens" et "Propositions" ou : tables "Biens" : Liste de tous les biens tables "Propositions" : liste des propositions de biens effectuées
J'aimerai connaître la méthode pour pouvoir créer un autre table et/ou requete afin d'avoir une liste de bien non proposé.
Merci d'avance pour votre aide.
Sab.
En plus de l'opérateur « Not IN » mentionné dans les réponses précédentes,
vous pouvez également utiliser l'opérateur Not Exists:
SELECT *
FROM Bien
WHERE Not Exists
(SELECT * FROM Proposition Where Proposition.IdBien = Bien.IdBien)
S. L.
"sab" <anonymous@discussions.microsoft.com> wrote in message
news:2a9301c48e9e$7245a3c0$a501280a@phx.gbl...
Bonjour
Voici mon pb:
J'ai deux tables "Biens" et "Propositions" ou :
tables "Biens" : Liste de tous les biens
tables "Propositions" : liste des propositions de biens
effectuées
J'aimerai connaître la méthode pour pouvoir créer un
autre table et/ou requete afin d'avoir une liste de bien
non proposé.
En plus de l'opérateur « Not IN » mentionné dans les réponses précédentes, vous pouvez également utiliser l'opérateur Not Exists:
SELECT * FROM Bien WHERE Not Exists (SELECT * FROM Proposition Where Proposition.IdBien = Bien.IdBien)
S. L.
"sab" wrote in message news:2a9301c48e9e$7245a3c0$ Bonjour Voici mon pb: J'ai deux tables "Biens" et "Propositions" ou : tables "Biens" : Liste de tous les biens tables "Propositions" : liste des propositions de biens effectuées
J'aimerai connaître la méthode pour pouvoir créer un autre table et/ou requete afin d'avoir une liste de bien non proposé.
Merci d'avance pour votre aide.
Sab.
Xavier HUE
Bonjour à tous,
Une petite info concernant les opérateurs IN et EXISTS.
Je travaille actuellement sur une application dans laquelle j'ai quelques requêtes enregistrées contenant des sélections d'enregistrements par IN ou NOT IN. Les performances étaient médiocres.
J'ai donc remplacé ces sélections par des requêtes avec jointure externe, et la, la performance est au rendez-vous. Mes requêtes s'exécutent maintenant 100 fois plus vite!! Là où j'avais des temps de réponses de 90 à 120 secondes, je suis passé à 1 secondes.
Le temps d'exécution de ma procédure de mise à jour quotidienne est passé de 15mn à 2mn30.
Je viens de tester à l'instant la syntaxe NOT EXISTS proposée par Sylvain, et j'obtiens les mêmes temps qu'avec un IN.
A titre d'info, voici le contexte: Table1(Key1, Key2, Key3, Zone1, Zone2...) 1500 Enregs Table2(Key1, Key2, Key3, Zone1, Zone2...) 45000 Enregs
Chacune des tables comporte une clé composée (K1, K2, k3), il n'existe pas d'index sur les les zones individuelles K1, k2, K3. Le but de la requête est d'insérer les enregistrements de Table1 manquant dans Table2.
INSERT INTO Table2 ( Key1, Key2, Key3, Z1, Z2) SELECT [Table1].K1, [Table1].K2, [Table1].K3, [Table1].Z1, [Table1].Z2 FROM Table1 WHERE K2 NOT IN( SELECT K2 FROM Table2); Temps d'exécution => pas loin de 120 secondes pour atteindre le dernier enregistrement en mode feuille de données.
La même avec jointure externe INSERT INTO Table2 ( Key1, Key2, Key3, Z1, Z2) SELECT [Table1].K1, [Table1].K2, [Table1].K3, [Table1].Z1, [Table1].Z2 FROM Table1 LEFT JOIN Table2 ON [Table1].K1 = [Table2].K1 WHERE [Table2].K1 Is Null Temps d'exécution => moins de 1 seconde pour atteindre le dernier enregistrement en mode feuille de données.
MS Access semble ne pas aimer du tout les sous-requêtes. Peut être un problème d'index...
Voilà, j'espère que ces informations serviront. Cordialement.
Bonjour à tous,
Une petite info concernant les opérateurs IN et EXISTS.
Je travaille actuellement sur une application dans
laquelle j'ai quelques requêtes enregistrées contenant des
sélections d'enregistrements par IN ou NOT IN.
Les performances étaient médiocres.
J'ai donc remplacé ces sélections par des requêtes avec
jointure externe, et la, la performance est au rendez-vous.
Mes requêtes s'exécutent maintenant 100 fois plus vite!!
Là où j'avais des temps de réponses de 90 à 120 secondes,
je suis passé à 1 secondes.
Le temps d'exécution de ma procédure de mise à jour
quotidienne est passé de 15mn à 2mn30.
Je viens de tester à l'instant la syntaxe NOT EXISTS
proposée par Sylvain, et j'obtiens les mêmes temps qu'avec
un IN.
A titre d'info, voici le contexte:
Table1(Key1, Key2, Key3, Zone1, Zone2...) 1500 Enregs
Table2(Key1, Key2, Key3, Zone1, Zone2...) 45000 Enregs
Chacune des tables comporte une clé composée (K1, K2, k3),
il n'existe pas d'index sur les les zones individuelles
K1, k2, K3.
Le but de la requête est d'insérer les enregistrements de
Table1 manquant dans Table2.
INSERT INTO Table2 ( Key1, Key2, Key3, Z1, Z2)
SELECT [Table1].K1, [Table1].K2, [Table1].K3, [Table1].Z1,
[Table1].Z2
FROM Table1
WHERE K2 NOT IN(
SELECT K2 FROM Table2);
Temps d'exécution => pas loin de 120 secondes pour
atteindre le dernier enregistrement en mode feuille de
données.
La même avec jointure externe
INSERT INTO Table2 ( Key1, Key2, Key3, Z1, Z2)
SELECT [Table1].K1, [Table1].K2, [Table1].K3, [Table1].Z1,
[Table1].Z2
FROM Table1 LEFT JOIN Table2 ON [Table1].K1 = [Table2].K1
WHERE [Table2].K1 Is Null
Temps d'exécution => moins de 1 seconde pour atteindre le
dernier enregistrement en mode feuille de données.
MS Access semble ne pas aimer du tout les sous-requêtes.
Peut être un problème d'index...
Voilà, j'espère que ces informations serviront.
Cordialement.
Une petite info concernant les opérateurs IN et EXISTS.
Je travaille actuellement sur une application dans laquelle j'ai quelques requêtes enregistrées contenant des sélections d'enregistrements par IN ou NOT IN. Les performances étaient médiocres.
J'ai donc remplacé ces sélections par des requêtes avec jointure externe, et la, la performance est au rendez-vous. Mes requêtes s'exécutent maintenant 100 fois plus vite!! Là où j'avais des temps de réponses de 90 à 120 secondes, je suis passé à 1 secondes.
Le temps d'exécution de ma procédure de mise à jour quotidienne est passé de 15mn à 2mn30.
Je viens de tester à l'instant la syntaxe NOT EXISTS proposée par Sylvain, et j'obtiens les mêmes temps qu'avec un IN.
A titre d'info, voici le contexte: Table1(Key1, Key2, Key3, Zone1, Zone2...) 1500 Enregs Table2(Key1, Key2, Key3, Zone1, Zone2...) 45000 Enregs
Chacune des tables comporte une clé composée (K1, K2, k3), il n'existe pas d'index sur les les zones individuelles K1, k2, K3. Le but de la requête est d'insérer les enregistrements de Table1 manquant dans Table2.
INSERT INTO Table2 ( Key1, Key2, Key3, Z1, Z2) SELECT [Table1].K1, [Table1].K2, [Table1].K3, [Table1].Z1, [Table1].Z2 FROM Table1 WHERE K2 NOT IN( SELECT K2 FROM Table2); Temps d'exécution => pas loin de 120 secondes pour atteindre le dernier enregistrement en mode feuille de données.
La même avec jointure externe INSERT INTO Table2 ( Key1, Key2, Key3, Z1, Z2) SELECT [Table1].K1, [Table1].K2, [Table1].K3, [Table1].Z1, [Table1].Z2 FROM Table1 LEFT JOIN Table2 ON [Table1].K1 = [Table2].K1 WHERE [Table2].K1 Is Null Temps d'exécution => moins de 1 seconde pour atteindre le dernier enregistrement en mode feuille de données.
MS Access semble ne pas aimer du tout les sous-requêtes. Peut être un problème d'index...
Voilà, j'espère que ces informations serviront. Cordialement.