J'ai travaillé avec un contrôle graphique dans une application WinForms, et j'ai eu quelques problèmes avec le tracé des points corrects – j'ai essayé une multitude de choses, y compris le DataManipulator.InsertEmptyPoints, en vain.
J'ai donc décidé d'améliorer ma requête SQL – ce qui a été fait, mais elle n'inclut toujours pas les valeurs 0 / Null – mais j'ai des problèmes avec ma jointure gauche – elle ne returnne aucune valeur nulle.
Question:
SELECT FC_Name , count (Findings.Findings_ID) AS 'NumFindings' FROM FindingCategories LEFT JOIN Findingsubcategories ON Findingsubcategories.FC_ID = FindingCategories.FC_ID LEFT JOIN Findings ON Findings.FSC_ID = Findingsubcategories.FSC_ID -- LEFT JOIN Audit ON Audit.Audit_ID = Findings.AU_ID -- WHERE Audit.Audit_ID = 932 GROUP BY FC_Name
La sortie de la requête
Maintenant, quand je supprime mes commentaires et inclure les deux lignes dans la requête
Où je veux que ce soit quelque chose comme:
FC_Name | NumFindings Category 1 Category 6 Category 1 Category 0/Null Category 0/Null Category 0/Null Category 0/Null
Qu'est-ce que je fais mal?
J'ai réussi à en déduire qu'une de mes jointures était redondante et n'a rien fait, la solution:
SELECT FC_Name, COUNT(Findings.Findings_ID) AS 'NumFindings' FROM FindingCategories LEFT OUTER JOIN Findingsubcategories ON Findingsubcategories.FC_ID = FindingCategories.FC_ID LEFT OUTER JOIN Findings ON Findings.FSC_ID = Findingsubcategories.FSC_ID AND Findings.AU_ID = 932 GROUP BY FC_Name