我想加入表A和B&获得按比例分配的销售额。 如何实现这一目标。任何人都可以帮助我吗?
Table A:
SALES_TIME_PERIOD_ID CODE ID FLOOR_NO UNIT_NO
31/07/2015 CN K1A L01 153
31/08/2015 CN K1A L01 153
30/09/2015 CN K1A L01 153
31/10/2015 CN K1A L01 153
30/11/2015 CN K1A L01 153
31/12/2015 CN K1A L01 153
31/01/2016 CN K1A L01 153
29/02/2016 CN K1A L01 153
31/03/2016 CN K1A L01 153
30/04/2016 CN K1A L01 153
31/05/2016 CN K1A L01 153
30/06/2016 CN K1A L01 153
Table B:
CODE ID FLOORNO UNITNO CHARGESTARTDATE CHARGEENDDATE PERIODICAMOUNT
CN K1A L01 153 24/08/2014 23/08/2015 13400.96
CN K1A L01 153 24/08/2015 23/08/2016 14071
CN K1A L01 153 24/08/2016 23/08/2017 14774.55
我希望输出为:
SALES_TIME_PERIOD_ID CODE ID FLOOR_NO UNIT_NO ACTUAL PRORATED
31/07/2015 CN K1A L01 153 13400.96 13400.96
31/08/2015 CN K1A L01 153 13400.96 13573.87355
30/09/2015 CN K1A L01 153 14071 14071
31/10/2015 CN K1A L01 153 14071 14071
30/11/2015 CN K1A L01 153 14071 14071
31/12/2015 CN K1A L01 153 14071 14071
31/01/2016 CN K1A L01 153 14071 14071
29/02/2016 CN K1A L01 153 14071 14071
31/03/2016 CN K1A L01 153 14071 14071
30/04/2016 CN K1A L01 153 14071 14071
31/05/2016 CN K1A L01 153 14071 14071
30/06/2016 CN K1A L01 153 14071 14071
答案 0 :(得分:1)
Select
tableA.SALES_TIME_PERIOD_ID
, tableA.Code
, tableA.ID
, tableA.floor_no
, tableA.Unit_no
, cast(tableB.PERIODICAMOUNT as decimal(13,2)) as ACTUAL
, tableB.PERIODICAMOUNT as PRORATED
from tableA
inner join tableB
on tableA.Code = tableB.Code
and tableA.ID = tableB.ID
and tableA.floorno - tableB.floorno
and tableA.unitno = tableB.unitno
and tableA.SALES_TIME_PERIOD_ID between tableB.CHARGESTARTDATE and tableB.CHARGEENDDATE
我当然在这里做了很多假设..但是这应该让你去!