Essaye quelque chose dans le genre ci-dessous:
select tab1.code, tab1.n_m, tab1.four, tab1.c_m, tab1.u_c, tab1.pu, tab1.qte, tab2.qte
from
(SELECT matiere.code_m as code, nom_m as n_m, nom_four as four, cond_m as c_m, unite_conditionnement as u_c, pu_m as pu, qte_inventaire_mat as qte
FROM matiere
LEFT JOIN inventaire_mat ON matiere.code_m = inventaire_mat.code_m
INNER JOIN fournisseur ON matiere.id_four = fournisseur.id_four
INNER JOIN conditionnement ON conditionnement.id_conditionnement = matiere.id_conditionnement
WHERE id_matiere_type = '$id_matiere_type'
AND (
(mois_inventaire_mat ='02' AND annee_inventaire_mat ='2008')
OR (mois_inventaire_mat IS NULL AND annee_inventaire_mat IS NULL)
) ) tab1,
(SELECT matiere.code_m as code, nom_m as n_m, nom_four as four, cond_m as c_m, unite_conditionnement as u_c, pu_m as pu, qte_inventaire_mat as qte
FROM matiere
LEFT JOIN inventaire_mat ON matiere.code_m = inventaire_mat.code_m
INNER JOIN fournisseur ON matiere.id_four = fournisseur.id_four
INNER JOIN conditionnement ON conditionnement.id_conditionnement = matiere.id_conditionnement
WHERE id_matiere_type = '$id_matiere_type'
AND (
(mois_inventaire_mat ='01' AND annee_inventaire_mat ='2008')
OR (mois_inventaire_mat IS NULL AND annee_inventaire_mat IS NULL)
) ) tab2
where tab1.code=tab2.code
Cette manière de créer des requêtes fonctionne avec oracle, access 2007 ...
Ta requête est considérée comme une table et on la duplique
select champs
from (ta_requete_mois02_par_ex) nouveau_nom_de_table,
(ta_requete_mois03_par_ex) nouveau_nom_de_table1
where nouveau_nom_de_table.champs_cle= nouveau_nom_de_table1.champs_cle
J'ai supposé que dans ta requête le champ code représente la clé primaire de ta table
__________________
Stéphane
|