Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
omega1983
Starting Member
40 Posts |
Posted - 2009-10-20 : 10:34:31
|
| I have a query that displays gifts as followsselect sum(giftjntamt) as giftsfrom giftswhere gifttype = 'y'and giftacctdv = '20'and giftjntamt >0group by giftjntamtorder by gifteffdat descThis query would give me all gifts sorted by descending order. For example900500600I want to show just the most recent gift only. For example I want to show the 900 only. How would I accomplish this? |
|
|
jimf
Master Smack Fu Yak Hacker
2875 Posts |
Posted - 2009-10-20 : 10:41:43
|
| select top 1 giftsfrom(select gifteffdat ,sum(giftjntamt) as giftsfrom giftswhere gifttype = 'y'and giftacctdv = '20'and giftjntamt >0group by giftjntamt) aJimorder by gifteffdat descEveryday I learn something that somebody else already knew |
 |
|
|
omega1983
Starting Member
40 Posts |
Posted - 2009-10-20 : 11:02:23
|
| Jimf thanks, This gives me the top gift for giftacctdv 20. I want the most recent gift based on the gft effective date for each ID number. So for example if I have the following, I want to show the most recent gift for each ID ID gift date1 900 10/13/092 1000 9/23/083 500 8/15/09 |
 |
|
|
jimf
Master Smack Fu Yak Hacker
2875 Posts |
Posted - 2009-10-20 : 11:16:01
|
| If this isn't what you want, please give sample data and expected output. If you don't want giftacctdv = '20' as part of your query, you should remove it.JimSELECT b.id ,sum(a.giftjntamt) as gifts ,b.DateFROM ( select id,date = max(gifteffdat) from gifts where gifttype = 'y' and giftacctdv = '20' and giftjntamt >0) bINNER JOIN gifts aON b.id = a.idand b.Date = a.gufteffdatGROUP BY b.id,b.DateEveryday I learn something that somebody else already knew |
 |
|
|
|
|
|