两张表:租赁合同表和房产表,根据输入时间动态查询租赁的情况
注意:合同并不是连续签约的,因此同一个房产的两个合同可能有间隔时间。
PACT表(房产编号、合同号、开始日期、结束日期)
House_no  Pact_no  Startdata Enddata
101 P1 2010-08-21 2011-08-31
101 P2 2011-10-01 2012-09-31
102 P3 2011-09-01 2013-08-31
102 P4 2013-09-01 2014-08-31
103 P5 2010-05-01 2011-04-30House表(房产编号、面积)
House_no Rentarea
101 100
102 80
103 120
104 130根据提示输入日期,分3个查询,分别查询出签约面积、空置面积、到期未退场面积
比如输入2011-09-15
则签约情况是:(只要输入的时间在签约时间内,则该套房子则为签约房产,统计其面积)
House_no Rentarea
102 80则空置情况是:(输入时间小于签约开始日期或者还未签约的房产)
House_no Rentarea
101 100
104 130则到期未退场面积:(输入时间大于最新合同的结束日期)
House_no Rentarea
103 120
SQL

解决方案 »

  1.   

    select house_no, rentarea from house
        where house.house_no in     ( select house_no from pact
                                          where      pact.startdata <= v_query_date
                                                 and pact.enddata   >= v_query_date );select house_no, rentarea from house
        where house.house_no not in ( select house_no from pact
                                          where      pact.startdata <= v_query_date
                                                 and pact.enddata   >= v_query_date );select house_no, rentarea from house
        where house.house_no in ( select house_no from pact
                                      where  pact.enddata   <  v_query_date );第三个需求描述的有些问题!!!