SQLite : Remplir une table à partir d'infos d'autres tables
Résolu
JamieMacUloth
Messages postés
43
Date d'inscription
Statut
Membre
Dernière intervention
-
JamieMacUloth Messages postés 43 Date d'inscription Statut Membre Dernière intervention -
JamieMacUloth Messages postés 43 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis débutante en SQLite et je ne sais pas comment écrire une requête. Alors mon problème est que j'ai 3 tables. Une table ACHAT_INDIVIDU, une table ACHAT_FAMILLE et une table FAMILLE.
Dans ACHAT_INDIVIDU j'ai les champs:
INDIVIDU_ID (numéro associé à un individu)
BIEN_ID (numéro du bien acheté, par ex : TV = 2)
BIEN_NB (nombre de biens achetés)
Donc par ex : 7 - 2 -1 signifie que l'individu 7 a acheté une TV.
Ma seconde table ACHAT_FAMILLE est pareille sauf qu'au lieu d'INDIVIDU_ID j'ai FAMILLE_ID (numéro de famille).
Enfin, ma table FAMILLE fait correspondre une famille à des individus. Elle contient le champ FAMILLE_ID et le champ INDIVIDU_ID. Ainsi par exemple, la FAMILLE_ID = 1 peut avoir les INDIVIDU_ID 7 , 8, 15. La FAMILLE_ID = 2 les INDIVIDU_ID 1, 3, 4, 5 etc....
Mon but est de remplir la table ACHAT_FAMILLE ayant les infos des deux autres tables. Par exemple pour la FAMILLE_ID = 1, supposons que l'INDIVIDU_ID = 7 ait acheté 1 TV et l'INDIVIDU_ID = 8 en ait acheté 2 et que l'INDIVIDU_ID = 15 n'en ait pas acheté. Je veux dire en SQL de sommer les achats TV pour cette famille pour avoir FAMILLE_ID = 1, BIEN_ID = 2, BIEN_NB = 3 (1 + 2). Et idem pour tous les autres biens.
Est-ce que quelqu'un sait comment faire ça ?
Merci d'avance !
Je suis débutante en SQLite et je ne sais pas comment écrire une requête. Alors mon problème est que j'ai 3 tables. Une table ACHAT_INDIVIDU, une table ACHAT_FAMILLE et une table FAMILLE.
Dans ACHAT_INDIVIDU j'ai les champs:
INDIVIDU_ID (numéro associé à un individu)
BIEN_ID (numéro du bien acheté, par ex : TV = 2)
BIEN_NB (nombre de biens achetés)
Donc par ex : 7 - 2 -1 signifie que l'individu 7 a acheté une TV.
Ma seconde table ACHAT_FAMILLE est pareille sauf qu'au lieu d'INDIVIDU_ID j'ai FAMILLE_ID (numéro de famille).
Enfin, ma table FAMILLE fait correspondre une famille à des individus. Elle contient le champ FAMILLE_ID et le champ INDIVIDU_ID. Ainsi par exemple, la FAMILLE_ID = 1 peut avoir les INDIVIDU_ID 7 , 8, 15. La FAMILLE_ID = 2 les INDIVIDU_ID 1, 3, 4, 5 etc....
Mon but est de remplir la table ACHAT_FAMILLE ayant les infos des deux autres tables. Par exemple pour la FAMILLE_ID = 1, supposons que l'INDIVIDU_ID = 7 ait acheté 1 TV et l'INDIVIDU_ID = 8 en ait acheté 2 et que l'INDIVIDU_ID = 15 n'en ait pas acheté. Je veux dire en SQL de sommer les achats TV pour cette famille pour avoir FAMILLE_ID = 1, BIEN_ID = 2, BIEN_NB = 3 (1 + 2). Et idem pour tous les autres biens.
Est-ce que quelqu'un sait comment faire ça ?
Merci d'avance !
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
j'essaierais
j'essaierais
INSERT INTO ACHAT_FAMILLE (FAMILLE_ID, BIEN_ID, BIEN_NB) SELECT FAMILLE_ID, BIEN_ID, sum(BIEN_NB) FROM FAMILLE, ACHAT_INDIVIDU WHERE FAMILLE.INDIVIDU_ID = ACHAT_INDIVIDU.INDIVIDU_ID GROUP BY FAMILLE_ID, BIEN_ID
JamieMacUloth
Messages postés
43
Date d'inscription
Statut
Membre
Dernière intervention
C'est exactement ça ! Merci