我有一个我加载到DB(不使用SSIS(的CSV文件,其中约20行和3列(如下(:
**start_date_local** **end_date_local** **provider_unit**
18/04/2017 16:00 19/04/2017 16:00 501638-52973
19/04/2017 05:30 19/04/2017 23:00 501613-52345
07/04/2017 14:30 08/04/2017 15:30 201447-20266
每个行/记录应充当我的查询(SQL Server(中的参数,该参数构成以下" where"子句
((Transmission.Transmission_StartDateAccurate >= '**start_date_local**')
AND (Transmission.Transmission_EndDateAccurate <= **'end_date_local'**))
AND Units.sn LIKE **'provider_unit'**
我想在结果设置使用数据(在另一个表中,这是可以的(在其特定时间 - 如下:
start_date_local end_date_local provider_unit GB USAGE
18/04/2017 16:00 19/04/2017 16:00 501638-52973 35.3
19/04/2017 05:30 19/04/2017 23:00 501613-52345 42.4
07/04/2017 14:30 08/04/2017 15:30 201447-20266 4.5
请建议:(
谢谢Guy
如果将此数据加载到数据库中的登台表中,则可以将join
加载到其上,以基于集合的方式使用数据,这将在所有情况下返回您的数据集。
没有完整的模式,这有点猜测工作,但是您应该做这样的事情:
select s.start_date_local
,s.end_date_local
,s.provider_unit
,t.GBUsage
from Transmission t
join StagingTable s
on(t.Transmission_StartDateAccurate >= s.start_date_local
and t.Transmission_EndDateAccurate <= s.end_date_local
)
join Units u
on(u.sn like s.provider_unit);