Est-ce que c'est normal qu'avec Access, lorsque je tente de faire une
sous-requête entrelacées ca ne marche pas?
SELECT *
FROM t1
WHERE EXISTS (
SELECT *
FROM t2
WHERE t1.id1 = t2.id1
AND t1.id2 = t2.id2);
Sachant que id1 et id2 sont deux champs de t1 et de t2. Access prend t1.id1
et t1.id2 comme des variables et me demande d'entrer les valeurs à la main!
Je sais qu'avec la plupart des autres SGBD ca marche. Avec access on dirait
que ca ne marche pas?!
Si c'est vrai que ca ne marche pas? Quoi faire pour avoir le même résultat?
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
Raymond [mvp]
Bonjour.
moi, je ferais simplement ça: SELECT table1.* FROM table1 INNER JOIN table2 ON (table1.id1 = table2.id1 ) AND (table1.id2 = table2.id2 );
ça devrait sortir les mêmes enregistrements. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Mona" <m_yazbeck(ZZZ)@hotmail.com> a écrit dans le message de news:
Bonjour,
Est-ce que c'est normal qu'avec Access, lorsque je tente de faire une sous-requête entrelacées ca ne marche pas?
SELECT * FROM t1 WHERE EXISTS ( SELECT * FROM t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2);
Sachant que id1 et id2 sont deux champs de t1 et de t2. Access prend t1.id1 et t1.id2 comme des variables et me demande d'entrer les valeurs à la main! Je sais qu'avec la plupart des autres SGBD ca marche. Avec access on dirait que ca ne marche pas?!
Si c'est vrai que ca ne marche pas? Quoi faire pour avoir le même résultat?
Merci
Bonjour.
moi, je ferais simplement ça:
SELECT table1.*
FROM table1 INNER JOIN table2 ON (table1.id1 = table2.id1 ) AND (table1.id2
= table2.id2 );
ça devrait sortir les mêmes enregistrements.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Mona" <m_yazbeck(ZZZ)@hotmail.com> a écrit dans le message de news:
uFKXXjbHFHA.1096@tk2msftngp13.phx.gbl...
Bonjour,
Est-ce que c'est normal qu'avec Access, lorsque je tente de faire une
sous-requête entrelacées ca ne marche pas?
SELECT *
FROM t1
WHERE EXISTS (
SELECT *
FROM t2
WHERE t1.id1 = t2.id1
AND t1.id2 = t2.id2);
Sachant que id1 et id2 sont deux champs de t1 et de t2. Access prend
t1.id1
et t1.id2 comme des variables et me demande d'entrer les valeurs à la
main!
Je sais qu'avec la plupart des autres SGBD ca marche. Avec access on
dirait
que ca ne marche pas?!
Si c'est vrai que ca ne marche pas? Quoi faire pour avoir le même
résultat?
moi, je ferais simplement ça: SELECT table1.* FROM table1 INNER JOIN table2 ON (table1.id1 = table2.id1 ) AND (table1.id2 = table2.id2 );
ça devrait sortir les mêmes enregistrements. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Mona" <m_yazbeck(ZZZ)@hotmail.com> a écrit dans le message de news:
Bonjour,
Est-ce que c'est normal qu'avec Access, lorsque je tente de faire une sous-requête entrelacées ca ne marche pas?
SELECT * FROM t1 WHERE EXISTS ( SELECT * FROM t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2);
Sachant que id1 et id2 sont deux champs de t1 et de t2. Access prend t1.id1 et t1.id2 comme des variables et me demande d'entrer les valeurs à la main! Je sais qu'avec la plupart des autres SGBD ca marche. Avec access on dirait que ca ne marche pas?!
Si c'est vrai que ca ne marche pas? Quoi faire pour avoir le même résultat?
Merci
Mona
J'avais oublié de préciser que c'était pour faire un DELETE (donc ca ne marche pas avec les JOIN) ..
Merci
"Raymond [mvp]" a écrit dans le message de news:
Bonjour.
moi, je ferais simplement ça: SELECT table1.* FROM table1 INNER JOIN table2 ON (table1.id1 = table2.id1 ) AND (table1.id2
= table2.id2 );
ça devrait sortir les mêmes enregistrements. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Mona" <m_yazbeck(ZZZ)@hotmail.com> a écrit dans le message de news:
Bonjour,
Est-ce que c'est normal qu'avec Access, lorsque je tente de faire une sous-requête entrelacées ca ne marche pas?
SELECT * FROM t1 WHERE EXISTS ( SELECT * FROM t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2);
Sachant que id1 et id2 sont deux champs de t1 et de t2. Access prend t1.id1 et t1.id2 comme des variables et me demande d'entrer les valeurs à la main! Je sais qu'avec la plupart des autres SGBD ca marche. Avec access on dirait que ca ne marche pas?!
Si c'est vrai que ca ne marche pas? Quoi faire pour avoir le même résultat?
Merci
J'avais oublié de préciser que c'était pour faire un DELETE (donc ca ne
marche pas avec les JOIN) ..
Merci
"Raymond [mvp]" <XYZ.officesystem.access@free.fr> a écrit dans le message de
news:OVNLQLcHFHA.2700@TK2MSFTNGP09.phx.gbl...
Bonjour.
moi, je ferais simplement ça:
SELECT table1.*
FROM table1 INNER JOIN table2 ON (table1.id1 = table2.id1 ) AND
(table1.id2
= table2.id2 );
ça devrait sortir les mêmes enregistrements.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Mona" <m_yazbeck(ZZZ)@hotmail.com> a écrit dans le message de news:
uFKXXjbHFHA.1096@tk2msftngp13.phx.gbl...
Bonjour,
Est-ce que c'est normal qu'avec Access, lorsque je tente de faire une
sous-requête entrelacées ca ne marche pas?
SELECT *
FROM t1
WHERE EXISTS (
SELECT *
FROM t2
WHERE t1.id1 = t2.id1
AND t1.id2 = t2.id2);
Sachant que id1 et id2 sont deux champs de t1 et de t2. Access prend
t1.id1
et t1.id2 comme des variables et me demande d'entrer les valeurs à la
main!
Je sais qu'avec la plupart des autres SGBD ca marche. Avec access on
dirait
que ca ne marche pas?!
Si c'est vrai que ca ne marche pas? Quoi faire pour avoir le même
résultat?
J'avais oublié de préciser que c'était pour faire un DELETE (donc ca ne marche pas avec les JOIN) ..
Merci
"Raymond [mvp]" a écrit dans le message de news:
Bonjour.
moi, je ferais simplement ça: SELECT table1.* FROM table1 INNER JOIN table2 ON (table1.id1 = table2.id1 ) AND (table1.id2
= table2.id2 );
ça devrait sortir les mêmes enregistrements. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Mona" <m_yazbeck(ZZZ)@hotmail.com> a écrit dans le message de news:
Bonjour,
Est-ce que c'est normal qu'avec Access, lorsque je tente de faire une sous-requête entrelacées ca ne marche pas?
SELECT * FROM t1 WHERE EXISTS ( SELECT * FROM t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2);
Sachant que id1 et id2 sont deux champs de t1 et de t2. Access prend t1.id1 et t1.id2 comme des variables et me demande d'entrer les valeurs à la main! Je sais qu'avec la plupart des autres SGBD ca marche. Avec access on dirait que ca ne marche pas?!
Si c'est vrai que ca ne marche pas? Quoi faire pour avoir le même résultat?
Merci
Raymond [mvp]
ça n'a strictement rien à voir. donc, tu veux supprimer les enregistrements de la table1 qui sont présents dans la table2 ? finalement il serait préférable que tu précises exactement ce que tu veux faire et dans quelle table.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Mona" <m_yazbeck(ZZZ)@hotmail.com> a écrit dans le message de news:
J'avais oublié de préciser que c'était pour faire un DELETE (donc ca ne marche pas avec les JOIN) ..
Merci
ça n'a strictement rien à voir.
donc, tu veux supprimer les enregistrements de la table1 qui sont présents
dans la table2 ?
finalement il serait préférable que tu précises exactement ce que tu veux
faire et dans quelle table.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Mona" <m_yazbeck(ZZZ)@hotmail.com> a écrit dans le message de news:
ee8vWUcHFHA.2740@TK2MSFTNGP12.phx.gbl...
J'avais oublié de préciser que c'était pour faire un DELETE (donc ca ne
marche pas avec les JOIN) ..
ça n'a strictement rien à voir. donc, tu veux supprimer les enregistrements de la table1 qui sont présents dans la table2 ? finalement il serait préférable que tu précises exactement ce que tu veux faire et dans quelle table.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Mona" <m_yazbeck(ZZZ)@hotmail.com> a écrit dans le message de news:
J'avais oublié de préciser que c'était pour faire un DELETE (donc ca ne marche pas avec les JOIN) ..
Merci
Mona
Bonjour,
Je veux supprimer les enregistrements de la table1 qui ont la même clé (id1 - id2) que les enregistrement de t2 (qui en fait est une requête fait à partir de deux autres requêtes)
Est-ce que c'est plus clair?
Quand j'essaie le DELETE avec les JOIN, ca ne fonctionne pas car on ne peut faire des DELETE juste quand il y a une seule table. Donc avec le IN ou le EXISTS ca fonctionne. Sauf que mon problème maintenant c'est que avec la requête que j,ai mis dans mon premier POST, ca ne me retourne jamais le même nombre d'enregistrement et ca prend 30 minutes à rouler...!
"Raymond [mvp]" a écrit dans le message de news:
ça n'a strictement rien à voir. donc, tu veux supprimer les enregistrements de la table1 qui sont présents dans la table2 ? finalement il serait préférable que tu précises exactement ce que tu veux faire et dans quelle table.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Mona" <m_yazbeck(ZZZ)@hotmail.com> a écrit dans le message de news:
J'avais oublié de préciser que c'était pour faire un DELETE (donc ca ne marche pas avec les JOIN) ..
Merci
Bonjour,
Je veux supprimer les enregistrements de la table1 qui ont la même clé
(id1 - id2) que les enregistrement de t2 (qui en fait est une requête fait à
partir de deux autres requêtes)
Est-ce que c'est plus clair?
Quand j'essaie le DELETE avec les JOIN, ca ne fonctionne pas car on ne peut
faire des DELETE juste quand il y a une seule table. Donc avec le IN ou le
EXISTS ca fonctionne. Sauf que mon problème maintenant c'est que avec la
requête que j,ai mis dans mon premier POST, ca ne me retourne jamais le même
nombre d'enregistrement et ca prend 30 minutes à rouler...!
"Raymond [mvp]" <XYZ.officesystem.access@free.fr> a écrit dans le message de
news:ejJxO2cHFHA.3928@TK2MSFTNGP09.phx.gbl...
ça n'a strictement rien à voir.
donc, tu veux supprimer les enregistrements de la table1 qui sont présents
dans la table2 ?
finalement il serait préférable que tu précises exactement ce que tu veux
faire et dans quelle table.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Mona" <m_yazbeck(ZZZ)@hotmail.com> a écrit dans le message de news:
ee8vWUcHFHA.2740@TK2MSFTNGP12.phx.gbl...
J'avais oublié de préciser que c'était pour faire un DELETE (donc ca ne
marche pas avec les JOIN) ..
Je veux supprimer les enregistrements de la table1 qui ont la même clé (id1 - id2) que les enregistrement de t2 (qui en fait est une requête fait à partir de deux autres requêtes)
Est-ce que c'est plus clair?
Quand j'essaie le DELETE avec les JOIN, ca ne fonctionne pas car on ne peut faire des DELETE juste quand il y a une seule table. Donc avec le IN ou le EXISTS ca fonctionne. Sauf que mon problème maintenant c'est que avec la requête que j,ai mis dans mon premier POST, ca ne me retourne jamais le même nombre d'enregistrement et ca prend 30 minutes à rouler...!
"Raymond [mvp]" a écrit dans le message de news:
ça n'a strictement rien à voir. donc, tu veux supprimer les enregistrements de la table1 qui sont présents dans la table2 ? finalement il serait préférable que tu précises exactement ce que tu veux faire et dans quelle table.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Mona" <m_yazbeck(ZZZ)@hotmail.com> a écrit dans le message de news:
J'avais oublié de préciser que c'était pour faire un DELETE (donc ca ne marche pas avec les JOIN) ..
Merci
Raymond [mvp]
Il te faut faire le contraire tu crées une requête de non correspondance/création de table et tu ne retrouveras que les enregistrements n'existant pas dans la table 2.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Mona" <m_yazbeck(ZZZ)@hotmail.com> a écrit dans le message de news:
Bonjour,
Je veux supprimer les enregistrements de la table1 qui ont la même clé (id1 - id2) que les enregistrement de t2 (qui en fait est une requête fait à partir de deux autres requêtes)
Est-ce que c'est plus clair?
Quand j'essaie le DELETE avec les JOIN, ca ne fonctionne pas car on ne peut faire des DELETE juste quand il y a une seule table. Donc avec le IN ou le EXISTS ca fonctionne. Sauf que mon problème maintenant c'est que avec la requête que j,ai mis dans mon premier POST, ca ne me retourne jamais le même nombre d'enregistrement et ca prend 30 minutes à rouler...!
Il te faut faire le contraire
tu crées une requête de non correspondance/création de table et tu ne
retrouveras que les enregistrements n'existant pas dans la table 2.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Mona" <m_yazbeck(ZZZ)@hotmail.com> a écrit dans le message de news:
O3pGiEdHFHA.2564@tk2msftngp13.phx.gbl...
Bonjour,
Je veux supprimer les enregistrements de la table1 qui ont la même clé
(id1 - id2) que les enregistrement de t2 (qui en fait est une requête fait
à
partir de deux autres requêtes)
Est-ce que c'est plus clair?
Quand j'essaie le DELETE avec les JOIN, ca ne fonctionne pas car on ne
peut
faire des DELETE juste quand il y a une seule table. Donc avec le IN ou le
EXISTS ca fonctionne. Sauf que mon problème maintenant c'est que avec la
requête que j,ai mis dans mon premier POST, ca ne me retourne jamais le
même
nombre d'enregistrement et ca prend 30 minutes à rouler...!
Il te faut faire le contraire tu crées une requête de non correspondance/création de table et tu ne retrouveras que les enregistrements n'existant pas dans la table 2.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Mona" <m_yazbeck(ZZZ)@hotmail.com> a écrit dans le message de news:
Bonjour,
Je veux supprimer les enregistrements de la table1 qui ont la même clé (id1 - id2) que les enregistrement de t2 (qui en fait est une requête fait à partir de deux autres requêtes)
Est-ce que c'est plus clair?
Quand j'essaie le DELETE avec les JOIN, ca ne fonctionne pas car on ne peut faire des DELETE juste quand il y a une seule table. Donc avec le IN ou le EXISTS ca fonctionne. Sauf que mon problème maintenant c'est que avec la requête que j,ai mis dans mon premier POST, ca ne me retourne jamais le même nombre d'enregistrement et ca prend 30 minutes à rouler...!