Asp.net SQL Server查询帮助
对不起,这是我应该放的 我的查询正在为具有多个实例的任何记录创建重复条目(无论日期)Asp.net SQL Server查询帮助,asp.net,sql-server,join,Asp.net,Sql Server,Join,对不起,这是我应该放的 我的查询正在为具有多个实例的任何记录创建重复条目(无论日期) 使用SELECT DESIGN似乎纠正了这个问题,但我不认为这是一个解决方案。数据库中没有重复的条目。因此,我的查询似乎在表面上创建重复项 查询应获取满足where子句中条件的公司列表,但也应获取每个公司在该特定[YearMonth]中的健康状态(如果存在),这是子查询的目的。如果该YearMonth的条目不存在,则将Health status留空 但如前所述。。如果您有2009-03年度CompID 2的
使用SELECT DESIGN似乎纠正了这个问题,但我不认为这是一个解决方案。数据库中没有重复的条目。因此,我的查询似乎在表面上创建重复项
查询应获取满足where子句中条件的公司列表,但也应获取每个公司在该特定[YearMonth]中的健康状态(如果存在),这是子查询的目的。如果该YearMonth的条目不存在,则将Health status留空 但如前所述。。如果您有2009-03年度CompID 2的条目和2009-04年度CompID 2的条目。。无论你选择哪个月,它都会列出该公司2-3次 此子查询:(SELECT [Monthly_HIP_Reports].[AccountHealth] from [Monthly_HIP_Reports] where ([Monthly_HIP_Reports].[YearMonth] = @ToDtRFC)) as [AccountHealth],
与任何SNA\u父账户
列均不相关
这是故意的吗?此子查询:
(SELECT [Monthly_HIP_Reports].[AccountHealth] from [Monthly_HIP_Reports] where ([Monthly_HIP_Reports].[YearMonth] = @ToDtRFC)) as [AccountHealth],
与任何SNA\u父账户
列均不相关
这是有意的吗?我认为应该在[Monthly\u HIP\u Reports]表和[SNA\u Parent\u Accounts]表之间添加联接。我想这就是它被复制的地方,因为我不知道这些表格是用来做什么的。。。如果您提供更多的表描述,我肯定可以知道问题出在哪里…我认为您应该在[Monthly\u HIP\u Reports]表和[SNA\u Parent\u Accounts]表之间添加联接。我想这就是它被复制的地方,因为我不知道这些表格是用来做什么的。。。如果您提供更多的表描述,我肯定可以知道问题出在哪里…您所说的“为具有多个实例的任何记录创建重复项”是什么意思?如果有多个实例,似乎已经有重复的条目了 另外,我还要看一下这部分代码:
SELECT count(*) FROM [SNA_Ticket_Detail]
WHERE ([SNA_Ticket_Detail].[CompID] = [SNA_Parent_Accounts].[CompID])
AND (CAST(CAST(YEAR([SNA_Ticket_Detail].[DtRFC]) AS VARCHAR(4))
+ '-0' + CAST(MONTH([SNA_Ticket_Detail].[DtRFC]) AS VARCHAR(2))
AS VARCHAR(7)) = @ToDtRFC)
AND ([SNA_Ticket_Detail].[Reviewed] = '1')
) as [TicketCount]
我看到一个VARCHAR(4)+'-0'+VARCHAR(2),在我看来最多有8个字符,被塞进了一个VARCHAR(7)。您是否丢失了一个字符并进行了这样的复制?您所说的“为具有多个实例的任何记录创建重复条目”是什么意思?如果有多个实例,似乎已经有重复的条目了 另外,我还要看一下这部分代码:
SELECT count(*) FROM [SNA_Ticket_Detail]
WHERE ([SNA_Ticket_Detail].[CompID] = [SNA_Parent_Accounts].[CompID])
AND (CAST(CAST(YEAR([SNA_Ticket_Detail].[DtRFC]) AS VARCHAR(4))
+ '-0' + CAST(MONTH([SNA_Ticket_Detail].[DtRFC]) AS VARCHAR(2))
AS VARCHAR(7)) = @ToDtRFC)
AND ([SNA_Ticket_Detail].[Reviewed] = '1')
) as [TicketCount]
我看到一个VARCHAR(4)+'-0'+VARCHAR(2),在我看来最多有8个字符,被塞进了一个VARCHAR(7)。您是否丢失了一个字符并进行了这样的复制?似乎我在左侧外部联接中发现了问题 我有 在[Monthly\u HIP\u Reports].[CompID]=[SNA\u Parent\u Accounts].[CompID]上左外联接[Monthly\u HIP\u Reports] 它抓取了所有与ID匹配的月度报告。我需要的是 在[Monthly_HIP_Reports].[CompID]=[SNA_Parent_Accounts].[CompID]和[Monthly_HIP_Reports].[YearMonth]=@ToDtRFC上左外联接[Monthly_HIP_Reports] 所以它也把它限制在一年一个月
谢谢大家 似乎我在左侧外部联接中发现了问题 我有 在[Monthly\u HIP\u Reports].[CompID]=[SNA\u Parent\u Accounts].[CompID]上左外联接[Monthly\u HIP\u Reports] 它抓取了所有与ID匹配的月度报告。我需要的是 在[Monthly_HIP_Reports].[CompID]=[SNA_Parent_Accounts].[CompID]和[Monthly_HIP_Reports].[YearMonth]=@ToDtRFC上左外联接[Monthly_HIP_Reports] 所以它也把它限制在一年一个月 谢谢大家