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

MS SQL Server Discussion :

Delete d'un select


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Avril 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2011
    Messages : 48
    Par défaut Delete d'un select
    Bonjour à tous,

    J'ai deux tables constituées des mêmes champs:
    TMP_Category_Duplicate: contient ~620 lignes
    TMP_CATEGORY_A_CREER: contient ~510 lignes
    Je voudrais supprimer, dans la table TMP_Category_Duplicate, les lignes de la table TMP_CATEGORY_A_CREER
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DELETE FROM TMP_Category_Duplicate
    WHERE EXISTS (SELECT * FROM TMP_Category_A_CREER)
    Lorsque j'effectue ma requête toutes les données de la table TMP_Category_Duplicate sont supprimées.

    Merci pour votre attention.

  2. #2
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Normal vous oubliez le critère de jointure entre vos deux tables!

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Avril 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2011
    Messages : 48
    Par défaut
    J'ai essayé ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DELETE FROM TMP_Category_Duplicate TMP
    INNER JOIN TMP_Category_A_CREER C ON TMP.RecId = C.RecId
    WHERE (Category, CreatedBy, CreatedDateTime, IncidentType, IncidentType_Valid,
    		LastModBy, LastModDateTime, RecId, PublishCategoryToWeb, Team)
    		IN (SELECT * FROM TMP_Category_A_CREER)
    Mais apparemment la syntaxe de INNER JOIN n'est pas supportée ici?

  4. #4
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DELETE FROM TMP_Category_Duplicate 
    FROM TMP_Category_Duplicate TMP
    INNER JOIN TMP_Category_A_CREER C ON TMP.RecId = C.RecId
    WHERE ....
    Il faudra revoir la clause WHERE qui n'est pas correcte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WHERE (Category, CreatedBy, CreatedDateTime, IncidentType, IncidentType_Valid,
    		LastModBy, LastModDateTime, RecId, PublishCategoryToWeb, Team)
    		IN (SELECT * FROM TMP_Category_A_CREER)

    ++

  5. #5
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Une méthode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DELETE TMP 
    FROM TMP_Category_Duplicate TMP
       INNER JOIN TMP_Category_A_CREER C 
          ON TMP.RecId = C.RecId
    Une deuxième:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DELETE FROM TMP_Category_Duplicate
    WHERE EXISTS(SELECT *
                         FROM IncidentType_Valid C
                         WHERE C.RecId= TMP_Category_Duplicate.recID)

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Avril 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2011
    Messages : 48
    Par défaut
    Cool merci à vous deux!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête DELETE avec un select imbriqué
    Par unix27 dans le forum PL/SQL
    Réponses: 6
    Dernier message: 01/11/2012, 11h22
  2. delete de la selection beug ?
    Par membreComplexe12 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 12/09/2012, 23h53
  3. [MySql 4.0] - DELETE avec un SELECT
    Par JuS80 dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/01/2007, 11h00
  4. Delete From In Select
    Par licorne dans le forum Requêtes
    Réponses: 4
    Dernier message: 06/10/2006, 13h13
  5. [requête] DELETE + SELECT
    Par doohan dans le forum Requêtes
    Réponses: 6
    Dernier message: 07/07/2003, 12h27

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