Requète sql

msi79 -  
 msi79 -
salut j'ai 2 tables .
victime (matricule,code, nom ,prenom)
enfant(id_enfant,code_e,nom_e,prenom_e)

je suis pas parvenu à lier ses 2 tables dans ma base de donnée .
alors j'ai créer le champ code dans les 2 tables afin de pourvoir faire des requète sur les 2 table.
ma question est la suivante :
quelle requète faire pour avoir des informations sur la victime et ses enfants
j'ai pensé a :
SELECT a.code,b.code_e FROM victme a,enfant b WHERE $_POST[code] = $_POST[code_e] ;

5 réponses

radgeur Messages postés 216 Statut Membre 27
 
Bonjour,
Je pense que la solution est la suivante, il faut que tu crée une clé étrangère dans tes tables, ici très certainement dans victime il faut que tu crée la clé étrangère #id_enfant et ensuite en faisant ta requête SELECT, pour afficher les champs que tu veux, les champs seront en relation et les enfant de la certaine victime s'afficheront.
0
loulou
 
ton exemple n'est pas très optimisé, cependant si le code est un identifiant unique dans la table victime alors tu peux faire :

select * from enfant where enfant.code = 'codeDeLaVictime'

cela te renverra tous les enfants de la victime dont le code est 'codeDeLaVictime'

select * from victime left join enfant on victime.code=enfant.code

cela te renverra toutes les association de victime avec des enfants

bon maintenant si tu veux mon avis je pense que le code de la table victime ne te sert a rien car a priori 'matricule' est déja un identifiant unique.

2eme remarque : matricule fait plutot référence à un criminel qu'à une victime^^.

3eme remarque : la clé étrangère doit etre dans la table Enfant et non Victime s'il y a plusieurs enfants possible pour une seule victime.
dans le cas ou un enfant peut etre l'enfant de 2 victime différentes il faut aussi créer une clé étrangère dans la table enfant.
0
msi79
 
merci de bien vouloir m'aider.
ta 2ième remarque m'a fait rire.

je sais pas si tu peux m'aider à trouver la solution à mon problème qui m'a amener a faire cette requète :

au fait j'ai 6 tables :
victime (matricule,code,nom,prenom,agent_sid,tuteur_sid)
agent(id_agent,nom_ag)
tuteur(id_tuteur,nom_t,prenom_t)
enfant(id_enfant,nom_e,prenom_e,matri_enf)
conjoint(id_conjoint,nom_c,prenom_cmatri_conj)

vioctme est la table principale
la clé de agent (agent_sid) et de tuteur(tuteur_sid) migrent dans la table victime.
ensuite la clé de victime mingre dans les tables enfant et conjoint .

tout se passe bien pour victime,agent et tuteur . je veux dire que quand je fait des insertion . les donnée sont bien reçu dans ma base mysql .
par contre les tables enfant et conjoint ne reçoivent pas de données.
j'ai tout fait mais rien.
donc vraiment si vous pouviez m'aider .
merci de bien vouloir m'aider.

NB: la remarque que j'ai fait c'est que pour les tables dont les clés ont migrées dans victime il n'ya pas de probleme .
mais les tables qui ont reçu la clé de victime il ya problème .
0
msi79 Messages postés 537 Statut Membre
 
radgeur. je sais qu'il faut créer des clés étrangères mais le constat est le suivant:
les tables qui ont leur clé qui migre dans victime ne pose pas de problème .
mais les tables qui reçoivent la clé étrangère de victime pose problème dans la mesure ou les insertion ne passent pas la bas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
msi79
 
je continue de chercher et voici ou j'en sui :
Parse error:parse error in C:\wamp\www\INSCRIPTION\enregistrement.php on line 100

et voici la ligne 100.

$sql = "INSERT INTO info(id_info,regionf,departementf,prefecturef,communef,villagef,statutav,autrestatav,npiecef,npers_av,statut_av,autre_av,npiece_ap,npers_ap,santef,nbrepdgif,problemef,autreproblemef,enceintef,pkquitte,autrepkquitte,priorite1,priorite2,priorite3,autrepriorite,acceptef,conditionf,ret,incitationf,autre_ret,structuref,autre_strut,piececours,ouipreciser,expirationf,docadm,extraitf,preciser_ext) VALUES('','".$regionf."','".$departementf."','".$prefecturef."','"$.communef."','".$villagef."','".$statutav."','".$autrestatav."','".$npiecef."','".$npers_av."','".$statut_av."','".$autre_av."','".$npiece_ap."','".$npers_ap."','".$santef."','".$nbrepdgif."','".$problemef."','".$autreproblemef."','".$enceintef."','".$pkquitte."','".$autrepkquitte."','".$priorite1."','".$priorite2."','".$priorite3."','".$autrepriorite."','".$acceptef."','".$conditionf."','".$ret."','".$incitationf."','".$autre_ret."','".$structuref."','".$autre_strut."','".$piececours."','".$ouipreciser."','".$expirationf."','".$docadm."','".$extraitf."','".$preciser_ext."')";
0