Bonjour,
J'ai une table "deputes" qui renferme tout pour le moment et des doublons... Ca marche mais ce n'est pas bon comme conception.
Pour le moment voici sa structure :
Pour le moment elle est liée à la table "legislatures" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE TABLE IF NOT EXISTS `deputes` ( `id` int(11) NOT NULL AUTO_INCREMENT, `noms` varchar(255) NOT NULL, `legislature` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB;
Cette requête me permet de lister tous les députés, le nombre de législatures et la liste des législatures effectuées par chacun :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE TABLE IF NOT EXISTS `lagislatures` ( `id` int(11) NOT NULL AUTO_INCREMENT, `annee_debut` date NOT NULL, `annee_fin` date NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB;
Pour le moment tout est okay, mais on retrouve des noms de députés qui reviennent toujours en fonction du nombre de législatures effectuées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT noms, COUNT(lagislature) AS nbre_legislatures, GROUP_CONCAT(CAST(lagislature AS CHAR) ORDER BY lagislature SEPARATOR ", " ) AS liste FROM deputes GROUP BY noms ORDER BY nbre_legislatures DESC
Maintenant je souhaite faire une vraie bdd. Et pour le cas, cela me revient à 3 tables.
1. table deputes
2. table legislatures
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE TABLE `assnat`.`deputes` ( `id_depute` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `noms` VARCHAR( 255 ) NOT NULL ) ENGINE = InnoDB;
3. table depute_legislatures
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE TABLE `assnat`.`legislatures` ( `id_legis` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `date_debut` DATE NOT NULL , `date_fin` DATE NOT NULL ) ENGINE = InnoDB;
Je souhaite donc savoir comment remplir dynamiquement à partir d'une requête sur la table
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE TABLE `assnat`.`depute_legislatures` ( `id_depute` INT NOT NULL , `id_legis` INT NOT NULL ) ENGINE = InnoDB;initial les tables deputes et depute_legislatures de la seconde structure.
Code : Sélectionner tout - Visualiser dans une fenêtre à part deputes
NB. Volontairement j'ai laissé de coté les contraintes pour ne pas saturer la problématique.
Merci d'avance...
Partager