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

Requêtes MySQL Discussion :

Supprimer des données d'une table à partir d'une autre table est-il possible ?


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2023
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 23
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2023
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Supprimer des données d'une table à partir d'une autre table est-il possible ?
    Bonjour, s 'il vous plait et il possible de supprimer des données d'une table à partir d'une autre ??

    je vous explique ma situation j'ai deux table : Tnotations et Hnotations comme vous voyez elles sont resèque identiques, je cherche une requête pour supprimer
    le candidat1 définitivement de la table Hnotations sauf si sa notes égale = 0,00 et que son nom existe sur Tnotations


    Table notations : Tnotations
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    +-------------+------------+--------------------+-------------+
    |      ID     | UIDstaff   | NomCandidats       |    Notes    |
    +-------------+------------+--------------------+-------------+
    |         1   |  U1002023  |    Candidat1       |      15,00  |
    +-------------+------------+--------------------+-------------+
    |         2   |  U1012023  |    Candidat2       |      12,35  |
    +-------------+------------+--------------------+-------------+
    |         3   |  U1022023  |    Candidat3       |      10,25  |
    +-------------+------------+--------------------+-------------+
    |         4   |  U1032023  |    Candidat4       |      9,00   |
    +-------------+------------+--------------------+-------------+
    |         5   |  U1042023  |    Candidat5       |      7,50   |
    +-------------+------------+--------------------+-------------+
    Table historique notations : Hnotations
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    +-------------+------------+--------------------+-------------+
    |      ID     | UIDstaff   | NomCandidats       |    Notes    |
    +-------------+------------+--------------------+-------------+
    |         1   |  U1002023  |    Candidat1       |      0,00   |
    +-------------+------------+--------------------+-------------+
    |         2   |  U1002023  |    Candidat1       |      0,00   |
    +-------------+------------+--------------------+-------------+
    |         3   |  U1012023  |    Candidat2       |      12,35  |
    +-------------+------------+--------------------+-------------+
    |         4   |  U1022023  |    Candidat3       |      10,25  |
    +-------------+------------+--------------------+-------------+
    |         5   |  U1032023  |    Candidat4       |      9,00   |
    +-------------+------------+--------------------+-------------+
    |         6   |  U1042023  |    Candidat5       |      7,50   |
    +-------------+------------+--------------------+-------------+

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 281
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 281
    Points : 8 589
    Points
    8 589
    Billets dans le blog
    17
    Par défaut
    j'ai deux table : Tnotations et Hnotations comme vous voyez elles sont resèque identiques
    Oui, et ça interroge sur ton modèle de données et la motivation de l'opération qui pourrait peut-être être remplacée par un SELECT ou une vue

    je cherche une requête pour supprimer
    le candidat1 définitivement de la table Hnotations sauf si sa notes égale = 0,00 et que son nom existe sur Tnotations
    C'est plus simple de formuler ce que tu veux supprimer, et pas ce que tu ne veux pas supprimer (et surtout ça évitera de supprimer ce qui n'aurait pas du l'être au cas où tu oublierais un critère).

    Alors je reformule, les règles de suppression dans Hnotations sont :
    1. Hnotations.NomCandidats = "Candidat1"
    2. Hnotations.Notes <> 0
    3. Tnotations.NomsCandidats ne doit pas contenir "Candidat1"

    Requête :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    DELETE FROM Hnotations
    WHERE TRUE
        AND NomCandidats = 'Candidat1'
        AND Notes <> 0
        AND NOT EXISTS (SELECT ALL * FROM Tnotations WHERE NomCandidats = 'Candidat1')
    ;

    => Résultat 0 suppression, car Tnotations[NomCandidats='Candidat1'] existe

Discussions similaires

  1. Réponses: 5
    Dernier message: 21/04/2020, 18h18
  2. [AC-2010] Erreur pour supprimer des données dans une table liée
    Par marieo dans le forum Access
    Réponses: 2
    Dernier message: 19/03/2016, 11h00
  3. Réponses: 9
    Dernier message: 02/01/2014, 12h21
  4. Réponses: 7
    Dernier message: 24/01/2012, 19h55
  5. Update d'une table à partir des données d'une autre
    Par gregoryacf dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/04/2008, 15h02

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