|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Membre éclairé
![]() Loïc LaffontInscription : juin 2007 Messages : 495 ![]() |
Voilà ma table entreprises qui vient de légèrement souffrir !
Citation:
Donc les sauvegardes on peu s’asseoir dessus J'ai l'intention de rétablir les relations via un script PHP et heureusement j'ai un point commun entre l'entrée enfant et la parent. il s'agit du rcci et du responsable Je comptais obtenir un résultat via une requête SQL du style PARENT | ENFANT 1 | 2 1 | 3 1 | 17 4 | 2 4 | 20 6 | 8 7 | 11 Mais je n'arrive pas à générer une requête convenable. J'ai tenté : Code :
SELECT f1.id AS PARENT, f2.id AS ENFANT FROM `entreprises` f1, `entreprises` f2 WHERE `f1`.`rcci` = `f2`.`rcci` Pourriez-vous m'aider à générer la requête qui va bien ?
__________________
En théorie tout devrait fonctionner... La France a un incroyable talent : Son retard en technologie informatique
|
|
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Saluton,
Peut-on avoir le résultat d'un SHOW CREATE TABLE sur chacune des tables ?
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
|
00
|
|
|
#3 | |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 654 ![]() |
Bonjour,
Que veut dire ceci ? Citation:
|
|
|
|
00
|
|
|
#4 | |
|
Membre éclairé
![]() Loïc LaffontInscription : juin 2007 Messages : 495 ![]() |
J'ai trouvé où était mon erreur J'avais oublié la condition
Citation:
__________________
En théorie tout devrait fonctionner... La France a un incroyable talent : Son retard en technologie informatique
|
|
|
|
00
|
|
|
#5 | |
|
Membre éclairé
![]() Loïc LaffontInscription : juin 2007 Messages : 495 ![]() |
Il doit quand même me manquer un truc car les valeurs parent se retrouve également dans enfant.
Citation:
__________________
En théorie tout devrait fonctionner... La France a un incroyable talent : Son retard en technologie informatique
|
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 654 ![]() |
bonjour,
au vu de votre clause where ca me semble tout à fait logique. |
|
|
00
|
|
|
#7 |
|
Membre éclairé
![]() Loïc LaffontInscription : juin 2007 Messages : 495 ![]() |
Oui ! Sans doute mais vous rajouteriez quoi à ma condition ?
Code :
SELECT f1.id AS PARENT, f2.id AS ENFANT FROM `entreprises` f1, `entreprises` f2 WHERE `f1`.`rcci` = `f2`.`rcci` AND `f1`.`id` != `f2`.`id`
__________________
En théorie tout devrait fonctionner... La France a un incroyable talent : Son retard en technologie informatique
|
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 654 ![]() |
vous êtes concient que dans le cas actuel on ne peut distinguer qui est le père du fils vu que votre seule condition pour savoir si un lien de parenté existe est :
|
|
|
00
|
|
|
#9 | |
![]() ![]() |
Citation:
Et que ce couple {rcci, responsable} caractérise de façon unique chaque famille parent + enfants ? Ce serait donc sur ces colonnes qu'il faudrait faire la jointure. Et au passage, les jointures s'écrivent depuis 1992 avec l'opérateur JOIN ; il serait temps de s'y mettre !
__________________
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
|
|
|
#10 | |
|
Membre éclairé
![]() Loïc LaffontInscription : juin 2007 Messages : 495 ![]() |
Citation:
Sinon pour revenir a mon problème : Une autre chose différencie le parent de l'enfant elle me semblait logique donc je ne l'ai pas spécifié. Un enfant ne peut être affecté à un parent que si celui ci existe. Donc l'id de l'enfant est plus fort que celui de son parent. Quand pensez vous ? Code :
SELECT f1.id AS PARENT, f2.id AS ENFANT FROM `entreprises` f1, `entreprises` f2 WHERE `f1`.`rcci` = `f2`.`rcci` AND `f1`.`id` != `f2`.`id` AND `f1`.`id` < `f2`.`id`
__________________
En théorie tout devrait fonctionner... La France a un incroyable talent : Son retard en technologie informatique
|
|
|
|
00
|
|
|
#11 | |||||
![]() ![]() |
Citation:
Dans ton premier message, tu dis que le point commun entre parent et enfant est le couple {rcci, responsable} mais dans tes requêtes tu ne traites que rcci. Cette seule colonne est suffisante pour identifier une famille ? Citation:
Citation:
En supposant que rcci soit suffisant comme colonne commune, ta requête correctement écrite donnerait ceci : 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
|
|
|
#12 |
|
Membre éclairé
![]() Loïc LaffontInscription : juin 2007 Messages : 495 ![]() |
Merci, Ça doit marcher je testerais demain Matin.
Sinon un enfant ne peut avoir qu'un seul parent Par contre un parent peux avoir plusieurs enfant. Encore merci de votre aide.
__________________
En théorie tout devrait fonctionner... La France a un incroyable talent : Son retard en technologie informatique
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com