IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

DELETE avec jointure


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    FMJ
    FMJ est déconnecté
    Membre éclairé
    Profil pro
    tutu
    Inscrit en
    Octobre 2003
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : tutu

    Informations forums :
    Inscription : Octobre 2003
    Messages : 417
    Par défaut DELETE avec jointure
    Bonjour,

    A titre de curiosité, est-ce quelqu'un saurait pourquoi la syntaxe suivante renvoie une erreur ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DELETE FROM Table1 
    RIGHT JOIN Table2 ON Table1.ID1 = Table2.ID1, Table1.ID2 = Table2.ID2
    WHERE Table2.Champ = 'Toto'
    Alors que la syntaxe suivante fonctionne correctement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DELETE Table1 FROM Table1 
    RIGHT JOIN Table2 ON Table1.ID1 = Table2.ID1, Table1.ID2 = Table2.ID2
    WHERE Table2.Champ = 'Toto'
    Comme initialement, je n'avais pas réussi à trouver pourquoi la première syntaxe ne marchait pas, j'avais essayé la suivante qui ne fonctionnait pas d'avantage ???!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DELETE Table1 FROM Table1 
    WHERE (Table1.ID1, Table1.ID2) = (SELECT Table1.ID1, Table1.ID2 FROM Table2 WHERE Table2.Champ = 'Toto')
    Merci d'avance.

  2. #2
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    La syntaxe du DELETE ne contient pas de FROM pour spécifier le nom de la table sur laquelle on supprime.
    D'ailleurs le From de la 2° requête est inutile de cette manière il me semble.

  3. #3
    FMJ
    FMJ est déconnecté
    Membre éclairé
    Profil pro
    tutu
    Inscrit en
    Octobre 2003
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : tutu

    Informations forums :
    Inscription : Octobre 2003
    Messages : 417
    Par défaut
    Salut

    Alors pas tout à fait me semble-t-il.

    Le cours de SQLpro donne la syntaxe suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DELETE [FROM] nom_table_cible 
    [WHERE condition]
    Le FROM est optionnel mais bel et bien utilisable ???!!!


    Celle de la doc SQL Server est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DELETE FROM authors
    WHERE au_lname = 'McBadden'
    J'y ai juste trouvé un indice qui m'a mis la puce à l'oreille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DELETE titleauthor
    FROM titleauthor INNER JOIN titles 
       ON titleauthor.title_id = titles.title_id
    WHERE titles.title LIKE '%computers%'

    Merci

Discussions similaires

  1. [Access] Prob ds un Delete avec jointure
    Par fikou dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 25/06/2009, 00h04
  2. [SQL] DELETE avec jointures
    Par eagleleader dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 12/10/2007, 09h37
  3. [SqlServer 2k] DELETE avec jointure
    Par Filippo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/06/2007, 18h12
  4. Requête DELETE avec jointure
    Par Roach- dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 24/03/2006, 15h00
  5. Delete avec jointure impossible
    Par _developpeur_ dans le forum Access
    Réponses: 13
    Dernier message: 18/11/2005, 16h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo