在sql server 2008 r2上工作。想要加入table = ValueTable 和table = DateRangeTable 。两个表数据就像图片一样。它们之间没有很强的关系,需要更新 ValueTable DateRangeTable 列的列 StartDate 和 EndDate 。
如果有任何疑问请询问,任何类型的建议都是可以接受的,谢谢你提前。
答案 0 :(得分:0)
您可以使用update...select
查询,如下所示
update ValueTable
set ValueTable.incRange = drt.incRange
from DateRangeTable drt
where ValueTable.BillDate >= drt.StartDate and ValueTable.BillDate <= drt.EndDate
答案 1 :(得分:0)
Select * from DateRangeTable inner join ValueTable on
MONTH(BillDate)=DateRangeTable.MonthNumber
答案 2 :(得分:0)
试试这个并告诉我你的评论/结果
UPDATE ValueTable SET IncRange=DRT.IncRange
FROM ValueTable VT INNER JOIN DaatRangeTable DRT ON VT.BillDate >= DRT.StartDate AND VT.BillDate <=DRT.EndDate
答案 3 :(得分:0)
您也可以使用BETWEEN子句。
UPDATE ValueTable
SET ValueTable.incRange = DateRangeTable.incRange
FROM ValueTable, DateRangeTable
WHERE ValueTable.BillDate BETWEEN DateRangeTable.StartDate AND ValueTable.BillDate