normalizePays.sql
3.21 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
tee normalisePays.log
DROP TABLE IF EXISTS pays;
CREATE TABLE pays (
ID_PAYS int(11) NOT NULL AUTO_INCREMENT,
LIB_PAYS varchar(100) DEFAULT NULL,
PRIMARY KEY (ID_PAYS)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
insert into pays select * from v2.pays;
DROP TABLE IF EXISTS editeur;
CREATE TABLE editeur (
ID_EDITEUR int(11) NOT NULL AUTO_INCREMENT,
NOM_EDITEUR varchar(50) NOT NULL,
ADR_EDITEUR varchar(300) DEFAULT NULL,
CP_EDITEUR varchar(15) DEFAULT NULL,
VILLE varchar(50) DEFAULT NULL,
PAYS varchar(50) DEFAULT NULL,
TEL_EDITEUR varchar(25) DEFAULT NULL,
EMAIL_EDITEUR varchar(50) DEFAULT NULL,
URL_EDITEUR varchar(100) DEFAULT NULL,
STATUT_EDITEUR varchar(50) DEFAULT NULL,
IND_AMATEUR bit(1) DEFAULT NULL,
HISTORIQUE longtext,
ID_JOURNALISABLE int(11) DEFAULT NULL,
ID_LINKABLE int(11) DEFAULT NULL,
PRIMARY KEY (ID_EDITEUR)
) ENGINE=InnoDB AUTO_INCREMENT=3267 DEFAULT CHARSET=utf8;
insert into editeur select * from v2.editeur;
-- PREPARATION TABLE editeur
-- Standardisation des valeurs de PAYS dans editeur
update editeur set PAYS='Allemagne' where PAYS in ('Deutschland');
update editeur set PAYS='Australie' where PAYS in ('Australia');
update editeur set PAYS='Espagne' where PAYS in ('España');
update editeur set PAYS='Pologne' where PAYS in ('Polska');
update editeur set PAYS='Royaume-Uni' where PAYS in ('United Kingdom', 'Royaume Uni', 'Grande-Bretagne', 'United Kingdoms', 'Royaumes Unis', 'Angleterre', 'UK');
update editeur set PAYS='États-Unis' where PAYS in ('USA', 'Etats Unis', 'Etats-Unis d\'Amérique', 'Etats Unis d\'Amérique', 'Caroline du Sud');
update editeur set PAYS='République tchèque' where PAYS in ('Ceska Republika');
update editeur set PAYS='Finlande' where PAYS in ('Suomi / Finlande');
update editeur set PAYS='Suède' where PAYS in ('Sverige / Suède');
update editeur set PAYS='Italie' where PAYS in ('Italia');
update editeur set PAYS='Grèce' where PAYS in ('Ellada / Grèce', 'Ellada / Grèce');
update editeur set PAYS='Brésil' where PAYS in ('Brasil/Brésil', 'Brasil', 'Brasilia');
update editeur set PAYS='Nouvelle-Zélande' where PAYS in ('New Zealand', 'New-Zeland');
-- Suppression d'un pays imaginaire
-- http://www.legrog.org/editeurs/hugin-munin
update editeur set PAYS=NULL where PAYS='France / Canada';
-- PREPARATION TABLE pays
-- Ajouts dans la table pays pour intégration
insert into pays (LIB_PAYS) values ('République tchèque');
insert into pays (LIB_PAYS) values ('Finlande');
insert into pays (LIB_PAYS) values ('Suède');
insert into pays (LIB_PAYS) values ('Italie');
insert into pays (LIB_PAYS) values ('Grèce');
insert into pays (LIB_PAYS) values ('Brésil');
insert into pays (LIB_PAYS) values ('Nouvelle-Zélande');
insert into pays (LIB_PAYS) values ('Japon');
insert into pays (LIB_PAYS) values ('Corée du Sud');
insert into pays (LIB_PAYS) values ('Pays-Bas');
insert into pays (LIB_PAYS) values ('Hongrie');
update pays set LIB_PAYS='États-Unis' where LIB_PAYS='USA';
-- CONTROLE UNICITE LIBELLES PAYS
select LIB_PAYS, count(LIB_PAYS) co, 'ERROR' from pays group by LIB_PAYS having co > 1;
-- CONTROLE MATCHING PAYS DES EDITEURS
select NOM_EDITEUR, 'ERROR' from editeur
where PAYS is not null
and PAYS not in (select LIB_PAYS from pays);