1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
-- Affaires sans devis avec ou sans factures
-- notées par un 0 en premier
SELECT 0, a.numAffaire,
a.designation,
'' as PKDEVIS,
'' as NUMDEVIS,
f.numFacture,
f.fkdevis
FROM affaires a
LEFT JOIN devis d ON a.pkaffaires = d.fkaffaires
LEFT JOIN factures f ON a.pkaffaires = f.fkaffaires
WHERE (f.fkdevis is null or f.fkdevis=0)
UNION
-- affaires avec Devis avec ou sans factures sur le devis
-- notées par un 1 au début
SELECT 1,a.numaffaire,a.designation,d.pkdevis,d.numdevis,f.numfacture,f.fkdevis
FROM affaires a join devis d on a.pkaffaires=d.fkaffaires << note ici le join et non left join
left join factures f on d.pkdevis=f.fkdevis
ORDER by 1,numaffaire,pkdevis |