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

Langage SQL Discussion :

Mise à jour champ d'une table


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 91
    Points : 49
    Points
    49
    Par défaut Mise à jour champ d'une table
    Bonjour,

    j'ai la table suivante:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    -- Structure de la table `final`
    --
     
    CREATE TABLE IF NOT EXISTS `final` (
      `site_theorique` varchar(11) NOT NULL DEFAULT '0',
      `NUM_SITE_GEO` varchar(250) NOT NULL DEFAULT '0',
      `equipement_ID` varchar(11) NOT NULL DEFAULT '0',
      `priorite_finale` varchar(3) NOT NULL DEFAULT '0',
      PRIMARY KEY (`equipement_ID`),
      KEY `priorite_finale` (`priorite_finale`),
      KEY `site_theorique` (`site_theorique`),
      KEY `NUM_SITE_GEO` (`NUM_SITE_GEO`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
     
    --
    -- Contenu de la table `final`
    --
     
    INSERT INTO `final` (`site_theorique`, `NUM_SITE_GEO`, `equipement_ID`, `priorite_finale`) VALUES
    ('T10001', 'SI124446', 'N10001', '2'),
    ('T10002', 'SI031884', 'N10002', '2'),
    ('T10003', 'SI033073', 'N10003', '2'),
    ('T10004', 'SI030669', 'N10004', '2'),
    ('T10005', 'SI030324', 'N10005', '2'),
    ('T10006', 'SI031249', 'N10006', '2'),
    ('T10007', 'SI030867', 'N10007', '2'),
    ('T10008', 'SI030437', 'N10008', '2'),
    ('T10009', 'SI031955', 'N10009', '2'),
    ('T10010', 'SI030445', 'N10010', '2');
    J'ai une seconde table:
    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
    17
    18
    19
    20
    21
    22
    CREATE TABLE IF NOT EXISTS `sites_coloc` (
      `NUM_SITE_THEORIQUE` varchar(11) NOT NULL,
      `NUM_SITE_GEO` varchar(11) NOT NULL,
      PRIMARY KEY (`NUM_SITE_THEORIQUE`),
      KEY `NUM_SITE_GEO` (`NUM_SITE_GEO`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
     
    --
    -- Contenu de la table `sites_coloc`
    --
     
    INSERT INTO `sites_coloc` (`NUM_SITE_THEORIQUE`, `NUM_SITE_GEO`) VALUES
    ('T10001', 'SI124446'),
    ('T10002', 'SI031884'),
    ('T10003', 'SI033073'),
    ('T38203', 'SI013946'),
    ('T38019', 'SI014110'),
    ('T38153', 'SI014264'),
    ('T38013', 'SI014440'),
    ('T38014', 'SI014451'),
    ('T38020', 'SI014483'),
    ('T38049', 'SI014505');
    J'aimerais mettre à jour le champ `final.priorite_finale` de la façon suivante:
    Si `final.NUM_SITE_GEO`=`sites_coloc.NUM_SITE_GEO`
    Alors `priorite_finale` prendra la valeur 1-1

    Merci de votre aide!

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Bonjour,

    J'imagine que la jointure entre les deux tables se fait sur le site_theorique, vous pouvez essayer ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    UPDATE final
    SET priorite_finale = '1-1'
    WHERE EXISTS
          (
           SELECT 1
           FROM sites_coloc
           WHERE final.site_theorique = sites_coloc.num_site_theorique
             AND final.num_site_geo = sites_coloc.num_site_geo
          );

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 91
    Points : 49
    Points
    49
    Par défaut
    Merci beaucoup ça marche

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/06/2012, 21h41
  2. Réponses: 2
    Dernier message: 16/04/2008, 00h18
  3. Mise à jour champ d'une table
    Par Format dans le forum IHM
    Réponses: 1
    Dernier message: 01/06/2007, 13h57
  4. Mise à jour quotidienne d'une table via fichier texte
    Par chooky97150 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 31/08/2006, 22h00
  5. Mise à jour automatique d'une table access via un .xls
    Par infratunes dans le forum Access
    Réponses: 4
    Dernier message: 05/04/2006, 18h33

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