对不起*这是我应该放的
我的查询是为具有1个以上实例的任何记录创建重复条目(与日期无关)
<asp:SqlDataSource ID="EastMonthlyHealthDS" runat="server"
ConnectionString="<%$ ConnectionStrings:SNA_TRTTestConnectionString %>"
SelectCommand="SELECT [SNA_Parent_Accounts].[Company],
(SELECT [Monthly_HIP_Reports].[AccountHealth] from [Monthly_HIP_Reports] where ([Monthly_HIP_Reports].[YearMonth] = @ToDtRFC) AND ([SNA_Parent_Accounts].[CompID] = [Monthly_HIP_Reports].[CompID])) as [AccountHealth],
[SNA_Parent_Accounts].[CompID]
FROM [SNA_Parent_Accounts]
LEFT OUTER JOIN [Monthly_HIP_Reports] ON [Monthly_HIP_Reports].[CompID] = [SNA_Parent_Accounts].[CompID]
WHERE (([SNA_Parent_Accounts].[Classification] = 'Business') OR ([SNA_Parent_Accounts].[Classification] = 'Business Ihn')) AND ([SNA_Parent_Accounts].[Status] = 'active') AND ([SNA_Parent_Accounts].[Region] = 'east')
ORDER BY [SNA_Parent_Accounts].[Company]">
<SelectParameters>
<asp:ControlParameter ControlID="ddMonths" Name="ToDtRFC" PropertyName="Text" Type="String" />
</SelectParameters>
</asp:SqlDataSource>使用SELECT DISTINCT似乎可以纠正这个问题,但我不认为这是一个解决方案。数据库中没有重复的条目。因此,我的查询似乎是在表面上创建重复项。
该查询应获取满足where子句中条件的公司列表,还应获取特定YearMonth中每个公司的健康状态(如果存在),这就是该子查询的目的。如果该YearMonth条目不存在,则将健康状态留空。
但如前所述..如果您有一个条目,例如CompID 2的2009-03条目和CompID 2的2009-04条目。无论你选择哪个月份,它都会列出该公司2-3次。
发布于 2009-05-05 16:54:50
此子查询:
(SELECT [Monthly_HIP_Reports].[AccountHealth] from [Monthly_HIP_Reports] where ([Monthly_HIP_Reports].[YearMonth] = @ToDtRFC)) as [AccountHealth],与任何SNA_Parent_Accounts列都不相关。
这是故意的吗?
发布于 2009-05-05 17:02:55
您所说的“为超过1个实例的任何记录创建重复条目”是什么意思?似乎如果有多个实例,就已经有重复的条目了?
另外,我会看一看这部分代码:
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)中。你是不是失去了一个角色,然后复制成这样?
发布于 2009-05-05 16:55:12
我认为你应该在Monthly_HIP_Reports表和SNA_Parent_Accounts表之间添加连接。我认为这就是它被复制的地方,因为我不知道这些表是做什么的……如果你给出更多的表格描述,我可以确定问题出在哪里……
https://stackoverflow.com/questions/825841
复制相似问题