日期:2014-05-17  浏览次数:20471 次

[急] Group By分组失效,在线等...
SQL code


SELECT h.ID,h.RoomID,h.HotelID,h.RoomTypeID,h.RoomTypeName,o.ID,OccupancyID,
o.TeamName,t.DRoom_Price,t.TRoom_Price,t.TRoom_OverTime,ROW_NUMBER() over(order by Occupancyid) as rowno,
RoomNum = STUFF((SELECT ',' + CAST(RoomNum AS NVARCHAR(MAX))  
FROM StayHistory WHERE (Occupancyid = h.Occupancyid) 
FOR XML PATH ('')),1,1,'')
from StayHistory h,Occupancy o,RoomType t  
where h.OccupancyID=o.ID And h.RoomTypeID=t.ID And h.IsCheckOut=0
group by o.ID,h.ID,h.RoomID,h.HotelID,h.RoomTypeID,h.RoomTypeName,OccupancyID,
o.TeamName,t.DRoom_Price,t.TRoom_Price,t.TRoom_OverTime



结果
540 48 1810 6 豪华单人房 300 300 600.00 100.00 15 7 3002
541 51 1810 7 豪华双人房 301 301 700.00 100.00 15 8 4001
542 53 1810 7 豪华双人房 302 302 700.00 100.00 15 9 4002
557 10 1810 4 标准单人房 312 312 123 400.00 100.00 15 10 1008,1009,1002
558 11 1810 4 标准单人房 312 312 123 400.00 100.00 15 11 1008,1009,1002
559 4 1810 4 标准单人房 312 312 123 400.00 100.00 15 12 1008,1009,1002


为什么Group By 没有效果,求大神在线等,急..~

------解决方案--------------------
探讨
引用:
引用:
引用:
你有了group by,但没聚合函数,当然没效果

我之前有写和这个一样的查询, 也没有用到聚合函数,

你既然没有用到聚合函数,那就没必要用group by了



SQL code


SELECT o.id,Occupancyid,o.CustomerName,o.CustomerType,o……

------解决方案--------------------
你需要显示成什么结果?当前显示已经是Group后的值,RoomID不重复。
------解决方案--------------------
这个你懂得
------解决方案--------------------
学习了,谢谢楼主和各层的筒子们
------解决方案--------------------
SELECT o.id,Occupancyid,o.CustomerName,o.CustomerType,o……