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 |
|
anujpratap84
Starting Member
45 Posts |
Posted - 2011-09-20 : 05:37:38
|
| Hi All,I am working on a query to show result in group.Here is my query..SELECT MONTH(BOOKING_DATE) AS [Month],COUNT(DISTINCT(BOOKING_ID)) AS [Total Bookings],BOOKING_STATUS,CASE BOOKING_STATUS WHEN 'DEF' THEN COUNT(DISTINCT BOOKING_ID) ELSE '0' END AS '# Bookings DEF' FROM STA_RP_ADMIN.GB_ROOMS_DETAILS INNER JOIN STA_RP_ADMIN.GB_ROOMS_PROPERTY ON STA_RP_ADMIN.GB_ROOMS_DETAILS.FK_ROOMS_ID = STA_RP_ADMIN.GB_ROOMS_PROPERTY.ROOMS_ID INNER JOIN dbo.HOTEL ON STA_RP_ADMIN.GB_ROOMS_PROPERTY.PROPERTY_ID = dbo.HOTEL.PROPERTY_IDWHERE (dbo.HOTEL.ID = @HotelID)AND MONTH(BOOKING_DATE) BETWEEN 1 and 2GROUP BY MONTH(BOOKING_DATE),BOOKING_STATUSIt's showing output like:Month Total Bookings BOOKING_STATUS # Bookings DEF1 200 CXL 252 100 CXL 251 200 ALL 252 100 ALL 251 200 P1P 252 100 P1p 25I want to group it by month, so result should be likeMonth Total Bookings # Bookings DEF1 600 752 300 75i dont't want to group by status.but sqlserver not allow me to group by month only.I have to add status in group by.anyone have any idea about this.Thanks in advance..Anuj Pratap Singh |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2011-09-20 : 05:45:52
|
| [code]SELECT MONTH(BOOKING_DATE) AS [Month],COUNT(DISTINCT(BOOKING_ID)) AS [Total Bookings],COUNT(DISTINCT CASE BOOKING_STATUS WHEN 'DEF' THEN BOOKING_ID ELSE NULL END ) AS '# Bookings DEF' FROM STA_RP_ADMIN.GB_ROOMS_DETAILS INNER JOINSTA_RP_ADMIN.GB_ROOMS_PROPERTY ON STA_RP_ADMIN.GB_ROOMS_DETAILS.FK_ROOMS_ID = STA_RP_ADMIN.GB_ROOMS_PROPERTY.ROOMS_ID INNER JOINdbo.HOTEL ON STA_RP_ADMIN.GB_ROOMS_PROPERTY.PROPERTY_ID = dbo.HOTEL.PROPERTY_IDWHERE (dbo.HOTEL.ID = @HotelID)AND MONTH(BOOKING_DATE) BETWEEN 1 and 2GROUP BY MONTH(BOOKING_DATE)[/code]------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/ |
 |
|
|
anujpratap84
Starting Member
45 Posts |
Posted - 2011-09-22 : 06:59:02
|
Thanks a lot..It's working.....quote: Originally posted by visakh16
SELECT MONTH(BOOKING_DATE) AS [Month],COUNT(DISTINCT(BOOKING_ID)) AS [Total Bookings],COUNT(DISTINCT CASE BOOKING_STATUS WHEN 'DEF' THEN BOOKING_ID ELSE NULL END ) AS '# Bookings DEF' FROM STA_RP_ADMIN.GB_ROOMS_DETAILS INNER JOINSTA_RP_ADMIN.GB_ROOMS_PROPERTY ON STA_RP_ADMIN.GB_ROOMS_DETAILS.FK_ROOMS_ID = STA_RP_ADMIN.GB_ROOMS_PROPERTY.ROOMS_ID INNER JOINdbo.HOTEL ON STA_RP_ADMIN.GB_ROOMS_PROPERTY.PROPERTY_ID = dbo.HOTEL.PROPERTY_IDWHERE (dbo.HOTEL.ID = @HotelID)AND MONTH(BOOKING_DATE) BETWEEN 1 and 2GROUP BY MONTH(BOOKING_DATE) ------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/
Anuj Pratap Singh |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2011-09-22 : 11:47:44
|
| welcome------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/ |
 |
|
|
|
|
|