Bonjour,

Je vous explique rapidement, voici ma table

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';
Avec mes données:
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
J'aimerais en une seule requête:
- 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:
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
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


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%';