views:

353

answers:

4

I am trying to join a select disinct statement to a select sum statement. Here is an example of the data

CD  STDATE    ENDDATE   PR
F1  01/02/09  01/04/09  $10
F1  01/02/09  01/04/09  $40
F1  01/02/09  01/04/09  $20
F1  01/02/09  01/04/09  $30
F1  01/22/09  01/26/09  $10
F1  01/22/09  01/26/09  $50
F1  01/22/09  01/26/09  $20

My desired output is -

F1  01/02/09  01/04/09  $100
F1  01/22/09  01/26/09  $80

So far, I have the foll statement, which is incorrect:

SELECT DISTINCT STDATE, ENDDATE, CD FROM TABLE AS A 
INNER JOIN (SELECT SUM(PR) FROM TABLE) AS B 
ON A.STDATE=B.STDATE

How can I do that???

+1  A: 
SELECT CD,STDATE,ENDDATE,SUM(PR) FROM TABLE GROUP BY CD,STDATE,ENDDATE

(missed CD in original answer)

Dmitry Khalatov
This doesn't provide the output he's looking for.
Jason Punyon
You need the cd field in the select and group by
Jeff O
+4  A: 
Select cd, stdate, enddate, sum(PR)
from Table
group by cd, stdate, enddate
Jason Punyon
+8  A: 

I think you are looking for grouping:

select
    t.cd,
    t.stdate,
    t.enddate,
    sum(t.pr)
from
    table t
group by
    t.cd,
    t.stdate,
    t.enddate
CodeBadger
+1  A: 

simple grouping and summing, pick up any SQL programming book

SELECT CD, STDATE,ENDDATE,SUM(PR) as SomeSum
FROM TABLE
GROUP BY CD, STDATE,ENDDATE
SQLMenace