myhome-1

第五章项目----租房网

 

--阶段1:知道————分页显示查询出租房屋信息
--需求说明:查询出第4-6条出租房屋信息

select top 3*
from hos_house 
where HMID not in (select top 1 HMID from hos_house)

select *
from hos_house
where HMID>1 and HMID<5

--阶段2:练习————查询指定客户发布的出租房屋信息
--需求说明:查询张三发布所有出租房屋信息,并显示房屋分布的街道和区县

use House
go
select hos_district.DName as \'区县\',hos_street.SName as \'街道\',hos_type.HTName as\'房屋类型\',hos_house.PRICE as \'价格\',
       hos_house.TOPIC as\'标题\', hos_house.CONTENTS as\'描述\',hos_house.HTIME as \'时间\',
       hos_house.COPY as\'备注\'
from hos_house
inner join hos_street on hos_house.SID=hos_street.SID
inner join hos_district on hos_street.SDID=hos_district.DID
inner join sys_user on sys_user.UID=hos_house.UID
inner join hos_type on hos_type.HTID=hos_house.HTID
where sys_user.UName=\'张三\'

--阶段3:联系————按区县制作房屋出租清单
--需求说明:根据户型和房屋所在区县和街道,为至少有俩个街道有出租房屋的区县制作出房屋清单

select hos_type.HTName as \'户型\', sys_user.UName as\'姓名\', hos_district.DName as\'区县\', hos_street.SName as \'街道\' 
from hos_house
inner join hos_street on hos_house.SID=hos_street.SID
inner join hos_district on hos_street.SDID=hos_district.DID
inner join sys_user on sys_user.UID=hos_house.UID
inner join hos_type on hos_type.HTID=hos_house.HTID
where hos_district.DID in(select hos_district.DID 
                       from hos_house
                       inner join hos_street on hos_house.SID=hos_street.SID
                       inner join hos_district on hos_street.SDID=hos_district.DID
                       group by hos_district.DID
                       having COUNT(*)=2 or COUNT(*)>2 )
                       
--阶段4:练习————按季度统计本年发布的房屋出租数量
--需求说明:按季度统计出本年各区各县个街道各种户型房屋出租数量
--          要求输出本年1月1日至今的全部出租房屋数量,各区县出租房屋数量以及各街道,户型出租房屋数量
declare @year int

set @year=DATEPART(YY,GETDATE())
--查询出以季节,街道,房屋类型来分类的房屋数量
select tmp.quarter as \'季度\',hos_district.DName as \'区县\',hos_street.SName as\'街道\',hos_type.HTName as\'户型\',tmp.cnt as\'房屋数量\'
from (
    select SID,HTID,COUNT(*) as cnt,DATEPART(QQ,HTIME) as quarter
    from hos_house
    where DATEPART(YY,HTIME)=@year
    group by DATEPART(QQ,HTIME),SID,HTID --以季节,街道,房屋类型分类
)tmp                 --派生出tmp表
inner join hos_street on tmp.SID=hos_street.SID
inner join hos_district on hos_street.SDID=hos_district.DID
inner join hos_type on hos_type.HTID=tmp.HTID
union
--查询出以季节,区县分类的房屋数量
select  DATEPART(QQ,hos_house.HTIME),hos_district.DName,\'小计\',\' \',COUNT(*) as \'房屋数量\'
from hos_house
inner join hos_street on hos_house.SID=hos_street.SID
inner join hos_district on hos_street.SDID=hos_district.DID
where DATEPART(YY,hos_house.HTIME)=@year
group by DATEPART(qq,hos_house.HTIME),hos_district.DName
union
--查询出以季节分类的房屋数量 
select DATEPART(QQ,hos_house.HTIME),\'合计\',\' \',\' \',COUNT(*) as \'房屋数量\'
from hos_house
inner join hos_street on hos_house.SID=hos_street.SID
inner join hos_district on hos_street.SDID=hos_district.DID
where DATEPART(YY,hos_house.HTIME)=@year
group by DATEPART(qq,hos_house.HTIME)

分类:

技术点:

相关文章: