Bonjour,
Je vous explique rapidement, voici ma table
Avec mes données:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CREATE TABLE `idtv4` ( `magasin` varchar(128) NOT NULL, `broadcaster_id` varchar(128) NOT NULL, `content_id` varchar(128) NOT NULL, `filename` varchar(128) NOT NULL, `title` varchar(128) NOT NULL, PRIMARY KEY (`content_id`,`filename`), KEY `index_content_id` (`content_id`), KEY `index_filename` (`filename`), KEY `index_title` (`title`), KEY `index_magasin` (`magasin`,`broadcaster_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Liste des commandes';
J'aimerais en une seule requête:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 magasin,broadcaster_id,content_id,filename,title MAGASIN,BRD,CAN9997BA,CAN102233.mpg,BA-Garde à vue MAGASIN,BRD,CAN9997,CAN102232.mpg,Garde à vue MAGASIN,BRD,CAN9993BA,CAN103280.mpg,BA-Cent jours à Palerme MAGASIN,BRD,CAN9993HD,CAN103279.mpg,Cent jours à Palerme HD
- ajouter une 4ème colonne
- que cette colonne réplique la colonne content_id déjà existante
- qu'en copiant la colonne il enlève "CAN"
- qu'en copiant la colonne il enlève "BA"
Ainsi pour avoir:
Ceci je fais le faire en 3 requêtes séparées, mais impossible pour moi de le faire en une seule et unique requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 magasin,broadcaster_id,content_id,filename,title,mid CANALPLAY,CAN,CAN9997BA,CAN102233.mpg,BA-Garde à vue,9997 CANALPLAY,CAN,CAN9997,CAN102232.mpg,Garde à vue,9997 CANALPLAY,CAN,CAN9993HD,CAN103279.mpg,Cent jours à Palerme HD,9993HD CANALPLAY,CAN,CAN9993BA,CAN103280.mpg,BA-Cent jours à Palerme,9993
Voici mes 3 requêtes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part alter table idtv4 add column mid varchar(128) NOT NULL;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UPDATE idtv4 SET mid = REPLACE(content_id, 'CAN', '') WHERE content_id LIKE '%CAN%';
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UPDATE idtv4 SET mid = REPLACE(mid, 'BA', '') WHERE content_id LIKE '%BA%';
Partager