我有两个SQL表如下:
您可能会注意到,第一个表具有每月频率(日期列),而第二个表具有季度频率。这就是我想做的事情:
对于表1中的每个issueid,我想查看日期,确定季度的前一个结束,然后从表2中获取对应于该季度末的该问题的数据,并插入它位于最后两列的第一个表中。
例如:采取issueid 123456和日期1/31/2014。上一季度末是2013年12月31日。我想转到表1,复制与该issueid和2013年12月31日对应的q_exp
和q_act
,然后将其粘贴到第一个表格中。
当然,我想填写整个第一张表并尽量减少手动插入。
任何帮助将不胜感激!谢谢!
答案 0 :(得分:0)
尝试以下查询
UPDATE issues
SET q_exp=(SELECT TOP 1 q.q_exp
FROM quarterlyTable q
WHERE q.issueid=i.issueid
AND q.[date]<=i.[date]
ORDER BY q.[date] DESC)
,q_act= (SELECT TOP 1 q.q_act
FROM quarterlyTable q
WHERE q.issueid=i.issueid
AND q.[date]<=i.[date]
ORDER BY q.[date] DESC)
FROM issues i