Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQL-左联接上没有空值_C#_Sql Server - Fatal编程技术网

C# SQL-左联接上没有空值

C# SQL-左联接上没有空值,c#,sql-server,C#,Sql Server,我一直在WinForms应用程序中使用图表控件,在绘制正确的点时遇到了一些问题-我尝试了很多方法,包括DataManipulator.InsertEmptyPoints,但都没有成功 所以,我决定改进我的SQL查询-虽然已经完成了,但它仍然不包含0/Null值-但是我的左连接遇到了一些问题-它没有返回任何Null值 查询: 选择FC_名称,将结果计数。结果ID为“NumFindings” 从查找类别 左连接Findingsubcategories.FC_ID=FindingCategories.

我一直在WinForms应用程序中使用图表控件,在绘制正确的点时遇到了一些问题-我尝试了很多方法,包括DataManipulator.InsertEmptyPoints,但都没有成功

所以,我决定改进我的SQL查询-虽然已经完成了,但它仍然不包含0/Null值-但是我的左连接遇到了一些问题-它没有返回任何Null值

查询:

选择FC_名称,将结果计数。结果ID为“NumFindings” 从查找类别 左连接Findingsubcategories.FC_ID=FindingCategories.FC_ID上的Findingsubcategories 在Findings.FSC_ID=Findingsubcategories.FSC_ID上左连接查找结果 -在Audit.Audit\u ID=Findings.AU\u ID上左加入审核 -其中Audit.Audit_ID=932 按FC_名称分组 查询的输出

现在,当我删除注释并在查询中包含这两行时

正如我所希望的那样:

FC_Name    | NumFindings
Category         1
Category         6
Category         1
Category         0/Null
Category         0/Null
Category         0/Null
Category         0/Null

我做错了什么?

我设法推断我的一个连接是多余的,没有做任何事情,解决方案是:

选择FC_名称,COUNTFindings.Findings_ID作为“NumFindings” 从查找类别 Findingsubcategories.FC_ID=FindingCategories.FC_ID上的左外部联接Findingsubcategories 在Findings.FSC_ID=Findingsubcategories.FSC_ID和Findings.AU_ID=932上的左外部联接结果 按FC_名称分组
你能在Audit.Audit_ID=Findings.AU_ID和Audit.Audit_ID=932上尝试左联合审计,而不是使用单独的WHERE吗?没有更改我的结果:/@Krono,将你的解决方案作为此问题的答案发布。然后接受它。您通过从左连接更改为左外部连接来解决它,从而更改结果。您可以将这些其他联接放回,并将它们更改为外部联接,这样仍然可以工作。是外部因素造成了差异。@Corey,不正确。这不仅仅是join类型,还有我的where语句。我目前正试图使此查询现在可以处理上一年的数据。@Corey问题是因为WHERE,它在加入后过滤结果。然而,将约束放在连接上揭示了一个事实,即必须对发现进行过滤,因此将连接留给审计没有任何作用,可以删除entirely@Rob,有什么线索可以告诉我如何使用上一年的数据条目进行此查询?在第二个语句中-我目前可以通过执行Audit_ID-1来实现这一点,但上一年的值并不总是-1behind@Krono如果您有datetime列,可以通过datediff来实现。虽然我不知道审计ID与一年的关系。。也许不应该。如果出于某种原因,一年中有两次审计会怎样?