Bonjour,
encore une autre question
j'essaie de supprimer dans la table A les enregistrements correspondant de
la table B
voici ma requete
DELETE from A inner join B on (A.Nvendeur= B.Nvendeur) AND (A.Nag = B.Nag);
l'analyser de requete me dit : Syntaxe incorrecte vers le mot cle Inner..
à noter que la meme requete avec un select a la place du delete fonctionne.
-sur ma table A la clé unique est un numéro auto NUMA
-sur ma table B je n'ai pas de clé unique (je sais c'est pas bien, mais
comme c'est une table tempo...)
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
Fred BROUARD
On ne peut supprimer que dans une seule table à la fois, donc toute jointure avec une autre table est interdite. Il faut utiliser une sous requête corrélée ou la jointure à la SQL Server :
DELETE from A WHERE A.clef IN (SELECT A.id FROM A inner join B on A.Nvendeur= B.Nvendeur AND A.Nag = B.Nag)
(norme SQL)
Ou encore :
DELETE from A FROM A AA inner join B on AA.Nvendeur= B.Nvendeur AND AA.Nag = B.Nag
Spécifique SQL Server
A +
-- Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
TopBidouille a écrit:
Bonjour, encore une autre question j'essaie de supprimer dans la table A les enregistrements correspondant de la table B voici ma requete
> DELETE from A inner join B on (A.Nvendeur= B.Nvendeur) AND (A.Nag = B.Nag);
l'analyser de requete me dit : Syntaxe incorrecte vers le mot cle Inner.. à noter que la meme requete avec un select a la place du delete fonctionne.
-sur ma table A la clé unique est un numéro auto NUMA -sur ma table B je n'ai pas de clé unique (je sais c'est pas bien, mais comme c'est une table tempo...)
Voila Merci Christophe
On ne peut supprimer que dans une seule table à la fois, donc toute
jointure avec une autre table est interdite.
Il faut utiliser une sous requête corrélée ou la jointure à la SQL Server :
DELETE from A
WHERE A.clef IN (SELECT A.id
FROM A
inner join B
on A.Nvendeur= B.Nvendeur
AND A.Nag = B.Nag)
(norme SQL)
Ou encore :
DELETE from A
FROM A AA
inner join B
on AA.Nvendeur= B.Nvendeur
AND AA.Nag = B.Nag
Spécifique SQL Server
A +
--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto:brouardf@club-internet.fr ******************
TopBidouille a écrit:
Bonjour,
encore une autre question
j'essaie de supprimer dans la table A les enregistrements correspondant de
la table B
voici ma requete
> DELETE from A inner join B on (A.Nvendeur= B.Nvendeur) AND (A.Nag =
B.Nag);
l'analyser de requete me dit : Syntaxe incorrecte vers le mot cle Inner..
à noter que la meme requete avec un select a la place du delete fonctionne.
-sur ma table A la clé unique est un numéro auto NUMA
-sur ma table B je n'ai pas de clé unique (je sais c'est pas bien, mais
comme c'est une table tempo...)
On ne peut supprimer que dans une seule table à la fois, donc toute jointure avec une autre table est interdite. Il faut utiliser une sous requête corrélée ou la jointure à la SQL Server :
DELETE from A WHERE A.clef IN (SELECT A.id FROM A inner join B on A.Nvendeur= B.Nvendeur AND A.Nag = B.Nag)
(norme SQL)
Ou encore :
DELETE from A FROM A AA inner join B on AA.Nvendeur= B.Nvendeur AND AA.Nag = B.Nag
Spécifique SQL Server
A +
-- Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
TopBidouille a écrit:
Bonjour, encore une autre question j'essaie de supprimer dans la table A les enregistrements correspondant de la table B voici ma requete
> DELETE from A inner join B on (A.Nvendeur= B.Nvendeur) AND (A.Nag = B.Nag);
l'analyser de requete me dit : Syntaxe incorrecte vers le mot cle Inner.. à noter que la meme requete avec un select a la place du delete fonctionne.
-sur ma table A la clé unique est un numéro auto NUMA -sur ma table B je n'ai pas de clé unique (je sais c'est pas bien, mais comme c'est une table tempo...)
Voila Merci Christophe
Céline
DELETE from A where A.Nag IN(SELECT B.Nag FROM B WHERE B.Nvendeur=A.Nvendeur)
@ plus Céline
-----Message d'origine----- Bonjour, encore une autre question j'essaie de supprimer dans la table A les enregistrements
correspondant de
la table B voici ma requete DELETE from A inner join B on (A.Nvendeur= B.Nvendeur)
AND (A.Nag = B.Nag);
l'analyser de requete me dit : Syntaxe incorrecte vers le
mot cle Inner..
à noter que la meme requete avec un select a la place du
delete fonctionne.
-sur ma table A la clé unique est un numéro auto NUMA -sur ma table B je n'ai pas de clé unique (je sais c'est
pas bien, mais
comme c'est une table tempo...)
Voila Merci Christophe
.
DELETE from A
where A.Nag IN(SELECT B.Nag
FROM B
WHERE B.Nvendeur=A.Nvendeur)
@ plus
Céline
-----Message d'origine-----
Bonjour,
encore une autre question
j'essaie de supprimer dans la table A les enregistrements
correspondant de
la table B
voici ma requete
DELETE from A inner join B on (A.Nvendeur= B.Nvendeur)
AND (A.Nag = B.Nag);
l'analyser de requete me dit : Syntaxe incorrecte vers le
mot cle Inner..
à noter que la meme requete avec un select a la place du
delete fonctionne.
-sur ma table A la clé unique est un numéro auto NUMA
-sur ma table B je n'ai pas de clé unique (je sais c'est
Merci je vai tester ca de suite, je ne m'en sortais pas avec le Where A.clef In .. a+ Christophe
TopBidouille
Ok c'est nikel merci a tous le deux Christophe "TopBidouille" a écrit dans le message de news:c24dot$jbn$
Merci je vai tester ca de suite, je ne m'en sortais pas avec le Where A.clef In
..
a+ Christophe
Ok c'est nikel merci a tous le deux
Christophe
"TopBidouille" <c.lauliac-nospam@bourse-immobilier.fr> a écrit dans le
message de news:c24dot$jbn$1@s1.read.news.oleane.net...
Merci
je vai tester ca de suite, je ne m'en sortais pas avec le Where A.clef In