现有表RegionInfo(片区表)、UnitInfo(单元楼)、HouseInfo(房屋档案)、TableRec(抄表记录)四张表,其中:
表TableRec有Tohouse外键与HouseInfo的HouseID主键相连;
表HouseInfo有ToUnit外键与UnitInfo的UnitID主键相连;
表UnitInfo有ToRegion外键与RegionInfo的RegionID主键相连;现在我需要根据用户选择的RegionInfo、UnitInfo和TableRec记录的时间段筛选条件,来查询指定“片区-->单元楼下“对应房屋的抄表记录。RegionInfo和UnitInfo根据应用程序选择得到
请问,这个语句怎么写啊?
表TableRec有Tohouse外键与HouseInfo的HouseID主键相连;
表HouseInfo有ToUnit外键与UnitInfo的UnitID主键相连;
表UnitInfo有ToRegion外键与RegionInfo的RegionID主键相连;现在我需要根据用户选择的RegionInfo、UnitInfo和TableRec记录的时间段筛选条件,来查询指定“片区-->单元楼下“对应房屋的抄表记录。RegionInfo和UnitInfo根据应用程序选择得到
请问,这个语句怎么写啊?
select a.regionid,b.unitid,d.* from regioninfo a,unitinfo b,houseinfo c,tablerec d
where a.regionid=b.toregion and b.unitid=c.tounit and c.houseid=d.tohouse
and a.regionid=@片区(应用程序传入) and b.unitid=@单元楼(应用程序传入)
and d.时间字段 between @开始时间(应用程序传入) and @结束时间(应用程序传入)
SELECT dbo.TableManage.*
FROM dbo.HouseInfo INNER JOIN
dbo.RegionInfo ON dbo.HouseInfo.ToRegion = dbo.RegionInfo.RegionId INNER JOIN
dbo.TableManage ON
dbo.HouseInfo.HouseID = dbo.TableManage.ToHouse INNER JOIN
dbo.UnitInfo ON dbo.HouseInfo.ToUnit = dbo.UnitInfo.UnitId AND
dbo.RegionInfo.RegionId = dbo.UnitInfo.ToRegion
WHERE (dbo.UnitInfo.ToRegion =6) AND (dbo.HouseInfo.ToUnit = 2) AND (dbo.HouseInfo.HouseCode = '215656') 接分