我有以下两个表:
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
创建一个新 View 。标准是,如果第一个表中的销售日期 (YEAR MONTH DAY
) 在第二个表中的 STDATE
和 EDDATE
之间,则应选择正确的 FYYEAR
和 FYMONTH
。
最佳答案
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
关于sql - 根据日期范围选择记录值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12580029/