sql连接查询自主检测

1、  查询每个房间的房间GUID(RoomGUID),房间名(Room),单元(Unit),房间对应的楼栋名称(BldName),项目名称(ProjName)。按项目、楼栋、单元、房间排序。

预期结果:


SELECT room.RoomGUID,room.room,room.Unit,bld.BldName,proj.ProjName 
FROM p_Roomroom
LEFT JOINp_Building bld ON bld.BldGUID = room.BldGUID
LEFT JOINp_Project proj ON proj.ProjGUID = room.ProjGUID
ORDER BYproj.ProjName ,bld.BldName ,room.Unit ,room.Room 

2、  根据交易-客户表(s_Trade2Cst)的客户顺序号字段(CstNum),显示每个交易的交易GUID和客户姓名(最多为4个。顺序号为1的显示为CSTNAME1,依此类推)

预期结果:

SELECT t1.TradeGUID,t1.CstName AS 'CSTNAME1',t2.CstName AS 'CSTNAME2',t3.CstName AS 'CSTNAME3',t4.CstName AS 'CSTNAME4'
FROM (select TradeGUID,CstName from s_Trade2Cst where CstNum=1) t1
LEFT JOINs_Trade2Cst t2 ON t2.TradeGUID =t1.TradeGUID AND t2.CstNum=2
LEFT JOINs_Trade2Cst t3 ON t3.TradeGUID =t1.TradeGUID AND t3.CstNum=3
LEFT JOINs_Trade2Cst t4 ON t4.TradeGUID =t1.TradeGUID AND t4.CstNum=4


3、楼栋名称,该楼栋的房间平均价格( 该楼栋房间TOTAL之和/房间数量)

预期结果:

SELECT bld.BldGUID  AS '楼栋GUID',bld.BldName AS'楼栋名称',SUM(room.Total)/COUNT(1) AS '楼栋均价' FROM p_Building  bld
INNER JOINp_Room  room ON room.BldGUID =bld.BldGUID
GROUP BYbld.BldGUID,bld.BldName

4、查询项目GUID,项目名称,该项目的房间平均价格( 该项目房间TOTAL之和/房间数量)

预期结果:

SELECT  proj.ProjGUID  AS '项目GUID' ,proj.ProjNameAS '项目名称',CASE COUNT(1) WHEN 0 THEN 0 ELSE SUM(ISNULL(Total,0))/COUNT(1) END AS '项目均价'
FROM p_Projectproj
LEFT JOINp_Room room ON room.ProjGUID =proj.ProjGUID
GROUP BYproj.ProjGUID,proj.ProjName

5、查询楼栋GUID,楼栋名称,该楼栋的房间平均价格,楼栋对应的项目名称,项目平均价格

预期结果:

SELECT bld1.BldGUID  AS '楼栋GUID',bld1.BldName AS'楼栋名称',bld2.average AS'楼栋均价' ,proj1.ProjName  AS '项目名称',proj2.average AS'项目均价'
from p_Building  bld1
LEFT JOINp_Project proj1ON proj1.ProjGUID  =bld1.ProjGUID
LEFT JOIN(select  sum(Total)/count(1) average,BldGUID  from p_Room group by BldGUID ) bld2 ON bld2.BldGUID =bld1.BldGUID
LEFT JOIN(select  sum(Total)/count(1) average,ProjGUID from p_Room group by ProjGUID) proj2 ON proj2.ProjGUID =bld1.ProjGUID


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值