{MySQL} Requête

Résolu/Fermé
RoseC - 12 janv. 2010 à 09:22
Chris'S Messages postés 14 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 21 décembre 2011 - 12 janv. 2010 à 14:21
Bonjour,
J'ai du mal a réaliser une requête concernant deux tables
c'est un petite base de donnée pour gérer mes confitures :-) -- ne riez pas, la gourmandise c'est comme ça --
J'ai une table de fabrication avec
lfab_codeft le code de la confiture exemple CP pour coing-Pomme
lfab_date pour la date
lfab_comp ici le code du composant que j'ai mis
lfab_qtecomp enfi sa quantité
TABLE `lignefab` (
`lfab_codeft` enum('CHA','CP') NOT NULL,
`lfab_date` date NOT NULL,
`lfab_comp` enum('CHA LISS','CITR MORC','CITR JUS','CO JUS','CO JUS EP','CO LISS','CO MORC','PO CUI JUS','PO LISS','PO MORC','POI LISS','POIVRE V','PR MORC','RH MIX','RH MORC','SIROP RIZ','SUCR DEM','SU LISS','VANILLE') NOT NULL,
`lfab_qtecomp` float NOT NULL,
`lfab_commentaire` varchar(25) NOT NULL,
PRIMARY KEY (`lfab_codeft`,`lfab_date`,`lfab_comp`)
)

Une autre table donne pour chaque composant sa famille
TABLE `tablecomp` (
`tcomp_code` enum('CHA LISS','CITR MORC','CITR JUS','CO JUS','CO JUS EP','CO LISS','CO MORC','PO CUI JUS','PO LISS','PO MORC','POI LISS','POIVRE V','PR MORC','RH MIX','RH MORC','SIROP RIZ','SUCR DEM','SU LISS','VANILLE') NOT NULL,
`tcomp_famille` varchar(8) NOT NULL,
PRIMARY KEY (`tcomp_code`),
KEY `tcomp_famille` (`tcomp_famille`)
)

J'ai effectué cette requete simple
SELECT `lignefab`.`lfab_codeft` , `lignefab`.`lfab_date` , `lignefab`.`lfab_comp` , `tablecomp`.`tcomp_code` , `lfab_qtecomp` ,`tablecomp`.`tcomp_famille`
FROM `lignefab` , `tablecomp`
WHERE `lignefab`.`lfab_comp` = `tablecomp`.`tcomp_code`
ORDER BY `lignefab`.`lfab_codeft` ASC qui me donne ceci (un extrait)


CHA 2009-11-08 CHA LISS CHA LISS 46 Fruit
CHA 2009-11-08 SUCR DEM SUCR DEM 38 Sucre
CHA 2009-11-08 VANILLE VANILLE 23 Autre
CP 2009-10-15 CO MORC CO MORC 9 Fruit
CP 2009-10-15 PO LISS PO LISS 4 Fruit
CP 2009-10-15 SUCR DEM SUCR DEM 6 Sucre


Mais en fait je souhaite cumuler les quantités par famille de composition
par exemple
CP 2009-10-15 13 Fruit
CP 2009-10-15 6 Sucre

J'ai essayé plein de group by mais comme le code famille est sur la deuxième table je n'y parviens pas.

Auriez-vous une piste, un exemple. Je n'ai pas trouvé d'exemple de ce type malgré mes n et n recherches

Merci d'avance

3 réponses

bonjour ,

pour les deux tables il faut il ya un champ commun entre eu pour lancer la jointure entre les deux tables..

si il ya un champ commun entre ue donne le moi...pour que je t'ecris la requete...
0
Bonjour,
Le champ commun est
table `lignefab` :`lfab_comp`
et table `tablecomp` : `tcomp_code`
Merci pour ta réponse
0
Chris'S Messages postés 14 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 21 décembre 2011
12 janv. 2010 à 14:21
allez, je m'auto répond comme on m'a aidé sur au autre site
ça peut servir à d'autres
voici la req
SELECT `lignefab`.`lfab_date`,`lignefab`.`lfab_codeft`, sum(`lfab_qtecomp`) ,`tablecomp`.`tcomp_famille`
FROM `lignefab` , `tablecomp`
WHERE `lignefab`.`lfab_comp` = `tablecomp`.`tcomp_code`
GROUP BY `tablecomp`.`tcomp_famille`, `lignefab`.`lfab_codeft`
ORDER BY `lignefab`.`lfab_date` desc,`lignefab`.`lfab_codeft` ASC
0