我有以下两个表:
ITEM AREA YEAR MONTH DAY QTY OL EXQTY EXOL CREATE DATE UPDATE
------------------------------------------------------------------------
ABC789 XYZ1234 2012 6 22 0 0 0 0 2012/07/04 2012/09/03
ABC789 XYZ1234 2012 6 23 0 0 0 0 2012/07/04 2012/09/03
ABC789 XYZ1234 2012 6 24 0 0 0 0 2012/07/04 2012/09/03
ABC789 XYZ1234 2012 6 25 0 0 0 0 2012/07/04 2012/09/03
ABC789 XYZ1234 2012 6 26 0 0 0 0 2012/07/04 2012/09/03
ABC789 XYZ1234 2012 6 27 0 0 0 0 2012/07/04 2012/09/03
和
STDATE EDDATE FYYEAR FYMONTH
---------------------------------------
2012/04/23 2012/05/27 2012 11
2012/05/28 2012/06/24 2012 12
2012/06/25 2012/07/22 2013 1
2012/07/23 2012/08/26 2013 2
我需要创建一个新视图,其中包含第一个表中的所有数据以及第二个表中的FYYEAR
和FYMONTH
。标准是,如果第一个表格中的销售日期(YEAR MONTH DAY
)介于第二个表格中的STDATE
和EDDATE
之间,那么正确的FYYEAR
和{{1应该被选中。
答案 0 :(得分:2)
select table1.*, fyyear, fymonth
from table1
inner join table2
on convert(date,convert(varchar(4),table1.year)+'-'+convert(varchar(4),table1.month)+'-'+convert(varchar(4),table1.day),120)
between table2.stdate and table2.eddate
答案 1 :(得分:0)
试试这个:
select t1.*,
FYYEAR ,
FYMONTH
from tbl_1 t1
join tbl_2 t2
on cast([YEAR] as char(4))+'-'+
cast([MONTH] as varchar(2))+'-'+
cast([DAY] as varchar(2))
between STDATE and EDDATE