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 |
|
anuraag205
Yak Posting Veteran
58 Posts |
Posted - 2012-08-29 : 05:55:01
|
| How can i set decimal Column for a part of query like this:::please helpSum(NegotiatedSellPrice+ ( case when IsCancellationProtection = '1'then ((CancellationProtectionAmt* (SiteToBaseConvRate/SiteToSalesConvRate))) else 0 end ) ) AS [Total Sale Price]I get an output like hisTotal Sale Price248.0000000000000000132.12000020000000005412.000000000000000i need it like total sales price204.00132.123421.00Please HelpThanks |
|
|
shaggy
Posting Yak Master
248 Posts |
Posted - 2012-08-29 : 08:09:45
|
| select CAST(248.0000000000000000 as decimal(22,2))select CAST(Sum(NegotiatedSellPrice+ ( case when IsCancellationProtection = '1'then ((CancellationProtectionAmt* (SiteToBaseConvRate/SiteToSalesConvRate)))else 0 end ) ) as decimal(22,2)) |
 |
|
|
anuraag205
Yak Posting Veteran
58 Posts |
Posted - 2012-08-29 : 08:37:01
|
| Thanks for your reply..My actual Query is this and could not achiveplz help:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::SELECT DATENAME(Year,BookingDate) as Year, DATENAME(Month,BookingDate) as Month,COUNT(InvoiceNumber) AS [Total Bookings], Sum(NegotiatedSellPrice+ ( case when IsCancellationProtection = '1'then ((CancellationProtectionAmt* (SiteToBaseConvRate/SiteToSalesConvRate))) else 0 end ) ) AS [Total Sale Price]FROM tblInvoiceWHERE BookingDate >= '2006-01-01'AND BookingDate < '2020-02-01'AND fk_StatusID in (3, 5)GROUP BY DATENAME(Month,BookingDate) , DATENAME(Year,BookingDate),DATEPART(MM,BookingDate),DATEPART(YYYY,BookingDate)ORDER BY DATEPART(YYYY,BookingDate),DATEPART(MM,BookingDate)error msg:::::::::::::::::::::::::::::::::::::::::::::::::::Msg 156, Level 15, State 1, Line 8Incorrect syntax near the keyword 'FROM'.Thanks |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2012-08-29 : 13:08:49
|
remove unwanted bracesSELECT DATENAME(Year,BookingDate) as Year, DATENAME(Month,BookingDate) as Month,COUNT(InvoiceNumber) AS [Total Bookings], Sum(NegotiatedSellPrice+ case when IsCancellationProtection = '1'then (CancellationProtectionAmt* (SiteToBaseConvRate/SiteToSalesConvRate))else 0 end ) AS [Total Sale Price]FROM tblInvoiceWHERE BookingDate >= '2006-01-01'AND BookingDate < '2020-02-01'AND fk_StatusID in (3, 5)GROUP BY DATENAME(Month,BookingDate) , DATENAME(Year,BookingDate),DATEPART(MM,BookingDate),DATEPART(YYYY,BookingDate)ORDER BY DATEPART(YYYY,BookingDate),DATEPART(MM,BookingDate) ------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/ |
 |
|
|
anuraag205
Yak Posting Veteran
58 Posts |
Posted - 2012-08-30 : 00:51:04
|
| But still i could not achieve this....Thanks |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2012-08-30 : 01:26:04
|
quote: Originally posted by anuraag205 But still i could not achieve this....Thanks
its compiling fine for meif its a part of bigger query post full partotherwise we cant guess whats happening at your end------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/ |
 |
|
|
anuraag205
Yak Posting Veteran
58 Posts |
Posted - 2012-08-30 : 02:38:38
|
| This is my full Query and could not get the "[Forward Sale Price]"value in 2 decimal system??? I tried your sugession, bu could not achieve...:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::SELECT DATENAME(YEAR, BOOKINGDATE) AS BookingYear, DATENAME(MONTH, BOOKINGDATE) AS BookingMonth, DATENAME(YEAR, COLLECTIONDATE) AS ForwardYear, DATENAME(MONTH, COLLECTIONDATE) AS ForwardMonth, SUM(NegotiatedSellPrice+ ( case when IsCancellationProtection = '1'then ((CancellationProtectionAmt* (SiteToBaseConvRate/SiteToSalesConvRate))) else 0 end ) ) AS [Forward Sale Price], COUNT(InvoiceNumber) AS [Forward Bookings]FROM tblInvoiceWHERE ((fk_StatusID = 3) OR (fk_StatusID = 5)) AND BOOKINGDATE >= '20070401' AND BOOKINGDATE < '20150201' AND COLLECTIONDATE >= '20070501' AND COLLECTIONDATE < '20150201'GROUP BY DATEPART(MM, BOOKINGDATE), DATEPART(YYYY, BOOKINGDATE), DATENAME(MONTH, COLLECTIONDATE), DATENAME(YEAR, COLLECTIONDATE), DATEPART(MM, COLLECTIONDATE), DATEPART(YYYY, COLLECTIONDATE), DATENAME(YEAR, BOOKINGDATE), DATENAME(MONTH, BOOKINGDATE)ORDER BY DATENAME(YEAR, BOOKINGDATE), DATENAME(MONTH, BOOKINGDATE), DATEPART(YYYY, COLLECTIONDATE), DATEPART(MM, COLLECTIONDATE)::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Thanks |
 |
|
|
shaggy
Posting Yak Master
248 Posts |
Posted - 2012-08-30 : 06:24:49
|
| Try thisSELECTDATENAME(YEAR, BOOKINGDATE) AS BookingYear,DATENAME(MONTH, BOOKINGDATE) AS BookingMonth,DATENAME(YEAR, COLLECTIONDATE) AS ForwardYear,DATENAME(MONTH, COLLECTIONDATE) AS ForwardMonth,CAST(SUM(NegotiatedSellPrice+ ( case when IsCancellationProtection = '1'then ((CancellationProtectionAmt* (SiteToBaseConvRate/SiteToSalesConvRate)))else 0 end ) )as decimal(22,2)) AS [Forward Sale Price],COUNT(InvoiceNumber) AS [Forward Bookings]FROMtblInvoiceWHERE((fk_StatusID = 3) OR (fk_StatusID = 5))AND BOOKINGDATE >= '20070401' AND BOOKINGDATE < '20150201'AND COLLECTIONDATE >= '20070501' AND COLLECTIONDATE < '20150201'GROUP BYDATEPART(MM, BOOKINGDATE),DATEPART(YYYY, BOOKINGDATE),DATENAME(MONTH, COLLECTIONDATE),DATENAME(YEAR, COLLECTIONDATE),DATEPART(MM, COLLECTIONDATE),DATEPART(YYYY, COLLECTIONDATE),DATENAME(YEAR, BOOKINGDATE),DATENAME(MONTH, BOOKINGDATE)ORDER BYDATENAME(YEAR, BOOKINGDATE),DATENAME(MONTH, BOOKINGDATE),DATEPART(YYYY, COLLECTIONDATE),DATEPART(MM, COLLECTIONDATE) |
 |
|
|
anuraag205
Yak Posting Veteran
58 Posts |
Posted - 2012-08-30 : 06:45:42
|
| @ shaggy....u got it...am going wrong with the syntax every time.@visakh16 thanks a ton for your supportThanks |
 |
|
|
shaggy
Posting Yak Master
248 Posts |
Posted - 2012-08-30 : 07:04:11
|
| Glad it worked for u |
 |
|
|
|
|
|
|
|