是否基于没有主键的映射表设置标志?

时间:2019-01-30 19:05:21

标签: sql

我有一个映射表,其中包含:Start_Dt和End_Dt。

我有一个包含Member_ID和Received_Dt的表。

我想做的是根据接收到的Dt是否在Start_Dt和END Dt之间设置一个标志。

我没有主键,所以我不确定最有效的起点。

  select 
Z.Member_ID, 
Z.Received_Dt, 
  FLAG=CASE WHEN A.Received_Date between W.ST_DT AND W.END_DT THEN 'Yes' ELSE NULL END
from #Member Z 
left join dbo.Weeks W

1 个答案:

答案 0 :(得分:0)

一个非常不确定的问题,但我想您需要类似的东西

update member b set flag = (
  select case when count(*) > 0 then 'y' else 'n' end 
  from mapping m 
  where b.received_dt >= m.start_dt 
    and b.received_dt <= m.end_dt
)