|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||||||
|
Membre éclairé
![]() Gérard OkonoDéveloppeur Web Inscription : juillet 2006 Messages : 707 ![]() |
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 : Code :
Code :
Code :
Maintenant je souhaite faire une vraie bdd. Et pour le cas, cela me revient à 3 tables. 1. table deputes Code :
Code :
Code :
NB. Volontairement j'ai laissé de coté les contraintes pour ne pas saturer la problématique. Merci d'avance... |
||||||||||||
|
|
00
|
|
|
#2 | ||
|
Membre éclairé
![]() Gérard OkonoDéveloppeur Web Inscription : juillet 2006 Messages : 707 ![]() |
Le problème a été posé ci haut, mais pour être plus simple, est-ce on peut imbriquer un INSERT INTO dans un SELECT de cette manière :
Code :
|
||
|
|
00
|
|
|
#3 | ||||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Bonjour
Commencez par inserer dans la table deputs la liste des députés : Code sql :
Ensuite, faites de meme pour la table legislature enfin, pour peupler la table depute_legislatures : Code sql :
ces requêtes doivent être lancées sur l'ancienne instance je vous conseille de vérifier avant ca que vous n'avez pas de députés écrit de deux façons différentes pour le même député, auquel cas vous aurez deux lignes dans la table finale deputes pour un seul et même deputé. ( à vérifier également pour la table legislature, mais c'est moins probable !) |
||||
|
|
00
|
|
|
#4 | ||
|
Membre éclairé
![]() Gérard OkonoDéveloppeur Web Inscription : juillet 2006 Messages : 707 ![]() |
Exactement exact. Merci
Mais comment refaire cette requête sur la nouvelle base : Code :
|
||
|
|
00
|
|
|
#5 | ||
![]() ![]() |
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#6 | |||||
|
Membre éclairé
![]() Gérard OkonoDéveloppeur Web Inscription : juillet 2006 Messages : 707 ![]() |
Citation:
Citation:
Citation:
Merci d'avance... |
|||||
|
|
00
|
|
|
#7 | ||||
![]() ![]() |
Ne connaissant pas le contenu de la table, je ne peux pas dire si le résultat est juste ou pas mais en tout cas il est cohérent :
MySQL a compté une législature pour Jean Paul et il a donné son numéro : 8. Pour vérifier, fais cette requête : Code :
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||||
|
00
|
|
|
#8 |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
une piste, mais vu l'origine des données, c'est a vérifier (en fait c'est ce dont je parle dans mon premier post) :
|
|
|
00
|
|
|
#9 | ||
|
Membre éclairé
![]() Gérard OkonoDéveloppeur Web Inscription : juillet 2006 Messages : 707 ![]() |
Effectivement le problème vient des données de la table depute_legislatures qui a été mal remplie par la requete suivante :
Code :
Merci d'avance... |
||
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
arff, oui !
Je suis allé un peu vite ![]() Les ID sont ceux de l'ancienne base, il faut donc chercher les correspondances. Code sql :
en supposant que vous n'avez pas plusieurs législatures avec les mêmes date de début et fin |
||
|
|
00
|
|
|
#11 | |||
|
Membre éclairé
![]() Gérard OkonoDéveloppeur Web Inscription : juillet 2006 Messages : 707 ![]() |
La correspondance des tables et champs me donne ceci :
Code :
Citation:
Merci d'avance... |
|||
|
|
00
|
|
|
#12 | ||
![]() ![]() |
Comme ceci, je pense que ça ira mieux :
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#13 |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Effectivement, d'après ce que vous aviez posté, cette colonne s'appelle id_depute
remplacez donc dans la requete les newdeputes.id par newdepute.id_depute |
|
|
00
|
|
|
#14 | |||
|
Membre éclairé
![]() Gérard OkonoDéveloppeur Web Inscription : juillet 2006 Messages : 707 ![]() |
Citation:
Merci...
|
|||
|
|
00
|
|
|
#15 | |||||
|
Membre éclairé
![]() Gérard OkonoDéveloppeur Web Inscription : juillet 2006 Messages : 707 ![]() |
Bonsoir,
Code :
Exemple : Citation:
Code :
Merci d'avance... |
|||||
|
|
00
|
|
|
#16 | ||
![]() ![]() |
Coup classique !
Si tu veux les députés qui ont fait au moins la 7 et la 8, il faut filtrer comme tu l'as fait avec IN(7, 8) et compter le nombre de lignes de résultat par députés en ne gardant que ceux qui ont au moins deux lignes. Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#17 | |||
|
Membre éclairé
![]() Gérard OkonoDéveloppeur Web Inscription : juillet 2006 Messages : 707 ![]() |
Citation:
|
|||
|
|
00
|
|
|
#18 | ||||||
|
Membre éclairé
![]() Gérard OkonoDéveloppeur Web Inscription : juillet 2006 Messages : 707 ![]() |
Pour mes besoins, j'ai modifié ainsi ma table depute_legislatures
Code :
Code :
Code :
Ce que je souhaite maintenant faire c'est dans la même requête ressortir le nombre total de députés pour une législature donnée qui est en faite la somme des nombres de députés que compte chaque parti. Je pense avoir été clair. merci d'avance... |
||||||
|
|
00
|
|
|
#19 | ||||
|
Membre éclairé
![]() Gérard OkonoDéveloppeur Web Inscription : juillet 2006 Messages : 707 ![]() |
Citation:
Code :
Citation:
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com