Bonjour,
J'ai la table:
Ensuite:
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 -- Structure de la table `final_trafic` -- CREATE TABLE IF NOT EXISTS `final_trafic` ( `site` varchar(11) DEFAULT NULL, `NUM_SITE_GEO` varchar(11) DEFAULT NULL, `trafic_total` int(11) DEFAULT '0', `priorite_trafic` int(3) DEFAULT '0', KEY `site` (`site`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT; -- -- Contenu de la table `final_trafic` -- INSERT INTO `final_trafic` (`site`, `NUM_SITE_GEO`, `trafic_total`, `priorite_trafic`) VALUES ('T10001', 'SI030340', 9047, NULL), ('T10002', 'SI031884', 3047, NULL), ('T10003', 'SI030659', 3972, NULL), ('T10004', 'SI030669', 7605, NULL), ('T10005', 'SI030324', 4364, NULL), ('T10006', 'SI031249', 5406, NULL);
Et une dernière 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 -- Structure de la table `sites_coloc` -- 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', 'SI030340'), ('T10002', 'SI031884'), ('T10003', 'SI030659'), ('T39335', 'SI014110'), ('T39033', 'SI014149'), ('T39149', 'SI014240'),;
Sachant que j'ai des milliers d'enregistrements, j'aimerais mettre à jour le champ `final_trafic.trafic_total` de la façon 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 -- Structure de la table `sites` -- CREATE TABLE IF NOT EXISTS `sites` ( `Site` varchar(11) NOT NULL, `PIC_TOT_TRAFIC_SEM` int(11) DEFAULT '0', `Poids_Image` int(11) DEFAULT '0', PRIMARY KEY (`Site`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Contenu de la table `sites` -- INSERT INTO `sites` (`Site`, `PIC_TOT_TRAFIC_SEM`, `Poids_Image`) VALUES ('T10001', 1000, 0), ('T10002', 2000, 2), ('T10003', 3000, 0), ('T10004', 5000, 0), ('T10005', 2500, 0), ('T10006', 3637, 0), ('T10007', 3283, 0), ('T10008', 4313, 0), ('T10009', 6196, 2), ('T10010', 6657, 0);
Si `final_trafic.NUM_SITE_GEO`=`sites_coloc.NUM_SITE_GEO`
Alors `final_trafic.trafic_total` prendra la valeur de `sites. PIC_TOT_TRAFIC_SEM`.
A titre d'exemple:
"T10001" existe dans la table `sites_coloc` alors on mettra à jour le champ `final_trafic.trafic_total`=`sites. PIC_TOT_TRAFIC_SEM`
Ce qui donne une valeur de 1000 au lieu de 9047, pour le champ `final_trafic.trafic_total`;
Merci de votre aide!
Partager