Bonjour la team,
je poste ici parceque le moteur est SQLITE, mais la réponse est je pense plus SQL. Je fait un petit soft pour gérer mon entreprise.
Le besoin de la vue : afficher TOUTES les affaires, puis les DEVIS existants (Une affaire contient ou pas des DEVIS), puis enfin les FACTURES (chaque devis contient ou pas des factures)
Mon problème : Si une facture ne vient d'un devis (mais obligatoirement d'une affaire) j'arrive à l'afficher, mais bien sur il affiche à nouveau tous les devis de cette même affaire.
Voici la requête :
Aperçu du résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE VIEW "VaffairesEtat" AS SELECT affaires.pkaffaires, affaires.numAffaire AS 'N° Dossier', affaires.designation AS 'Nom dossier' , societes.nomSociete AS 'Société' , affaires.fkaffaireStatuts AS 'Statut affaire' , devis.pkdevis, devis.numDevis AS 'N° Devis', devis.designation as 'Nom devis', devis.ptHT AS 'Valeur Ht', devis.fkdevisStatuts AS 'Statut devis' , factures.pkfactures, factures.numFacture AS 'N° Facture', factures.nom AS 'Désignation facture', factures.ptHt AS 'Montant Ht', factures.dateFacture AS 'Facturé le :', factures.dateReglement AS 'régler le :', factures.fkfactureStatuts AS 'Statut' FROM -- requéte sur affaire affaires LEFT OUTER JOIN devis ON affaires.pkaffaires = devis.fkaffaires JOIN societes ON societes.pksocietes = affaires.idSociete -- requéte sur devis LEFT OUTER JOIN factures ON CASE WHEN factures.fkdevis > 0 THEN devis.pkdevis = factures.fkdevis ELSE affaires.pkaffaires = factures.fkaffaires END ORDER BY affaires.numAffaire
On peut constater qu'une affaire sans devis, ni facture est bien présente (15003), mais en revanche une facture sans devis (fkdevis = -1) se place bien dans l'affaire (FA011 pour l'exemple de l'affaire 15000) mais la requête affiche les trois devis de la même affaire (DE1508000, 8002 et 9006) -_-.
A bien lire la requete je trouve normal qu'elle le fasse, mais j'aimerai avoir la ligne devis null et qu'une ligne pour la facture (FA011)
Comment afficher la facture sans que les devis pollues la vue ?
J'ai essayé pas mal de structure CASE un peu dans tous les sens, mais c'est mon meilleure résultat :'(
Si quelqu'un à une idée ? d'avance merci pour votre lecture et réflexion.
Cordialement ADN
Partager