Sql server 2008 连接条件检索不需要的答案

Sql server 2008 连接条件检索不需要的答案,sql-server-2008,Sql Server 2008,我有两张桌子,如下所示 select Event_ID,[Gross Salary] from tblEar where Event_ID=14 结果: Event_ID Gross Salary 14 56128 14 51984 14 42028 EventId Order Date Amount 14 10/10/2011 20000 14 10/10/2011 20000 14 20/03/2012 2500

我有两张桌子,如下所示

select Event_ID,[Gross Salary] from tblEar where Event_ID=14
结果:

Event_ID  Gross Salary
14        56128
14        51984
14        42028
EventId Order Date Amount
14      10/10/2011 20000
14      10/10/2011 20000
14      20/03/2012 2500
14      02/04/2012 -50000
以及:

结果:

Event_ID  Gross Salary
14        56128
14        51984
14        42028
EventId Order Date Amount
14      10/10/2011 20000
14      10/10/2011 20000
14      20/03/2012 2500
14      02/04/2012 -50000
如果我在这两个表上写一个连接语句来获取它,那就是检索重复的记录。我使用了Distinct,但没有得到肯定的结果

select DISTINCT tba.[Order Date],ISNULL(tba.Amount,0),ISNULL(te.[Gross Salary],0) from tblBudget tba 
                     join
                         tblEar  te on tba.EventId=te.Event_ID  where tba.EventId=14
我得到了以下答案:

Order Date (No column name) (No column name)
2011-10-10 20000.00         42028.00
2011-10-10 20000.00         51984.00
2011-10-10 20000.00         56128.00
2012-03-20 2500.00          42028.00
2012-03-20 2500.00          51984.00
2012-03-20 2500.00          56128.00
2012-04-02 -50000.00        42028.00
2012-04-02 -50000.00        51984.00
2012-04-02 -50000.00        56128.00

有谁能告诉我获取准确数据的方法吗?我想你应该将数据分组并汇总金额:

SELECT tba.[Order Date], SUM(tba.Amount), SUM(te.[Gross Salary])
FROM tblBudget tba 
JOIN tblEar te on tba.EventId = te.Event_ID
WHERE tba.EventId = 14
GROUP BY tba.[Order Date]

我已经格式化了您的问题,以便可以阅读查询和结果。我还根据结果切换了前两个查询的顺序,因为结果集似乎与查询更匹配。但你还没有告诉我们你期望的结果。