bonjour à tous

j'ai un peu de mal à écrire ma requête qui à partir d'un table m'en crée 2...

j'ai une table exemple avec 3 champs:
type-couleur-divers
et les tuples que j'ai dedans sont:
voiture,rouge,aaa
voiture,rouge,bbb
voiture,vert,aaa
voiture,jaune,aaa
vélo,rouge,aaa
vélo,bleu,aaa
vélo,bleu,bbb

et je souhaiterai avoir mes 2 tables sous la forme:
type avec dedans:
1,voiture
2,vélo

couleur avec dedans:
1,rouge,1 // la dernière valeur est l'id en correspondance avec la table "type"
2,rouge,2
3,vert,1
4,jaune,1
5,bleu,2

j'en suis là, mais je bloque...
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
CREATE TABLE `exemple` (
  `id_exemple`   tinyint(4)   NOT NULL   auto_increment,
  `type`      varchar(10)   NOT NULL,
  `couleur`      varchar(10)   NOT NULL,
  `divers`      varchar(10)   NOT NULL,
  PRIMARY KEY  (`id_exemple`)
);
CREATE TABLE `type` (
  `id_type`   tinyint(4)   NOT NULL   auto_increment,
  `type`      varchar(10)   NOT NULL,
  PRIMARY KEY  (`id_type`)
);
CREATE TABLE `couleur` (
  `id_couleur`   tinyint(4)   NOT NULL   auto_increment,
  `couleur`      varchar(10)   NOT NULL,
  `id_type`      tinyint(4)   NOT NULL,
  PRIMARY KEY  (`id_couleur`)
);
INSERT INTO `type` (  type ) SELECT distinct ('type') from 'exemple' ;
INSERT INTO `couleur` (  couleur ) SELECT ('couleur') from 'exemple' ;
bien sûr ça ne marche pas...

si quelqu'un peut m'aider...

merci beaucoup