将table1行值插入SQL中的table2列

时间:2019-02-12 04:14:51

标签: sql stored-procedures

我要写一个查询,正在考虑是否有人可以帮助我。请查看所附图片,同时让我简要介绍一下我的要求。

表1屏幕截图 enter image description here

表2屏幕截图 enter image description here

表1 中,我们每个用户每天最多可以有4条记录,最少2条记录。如果用户有4条记录,则当天 Table1 中的FirstRecord将转到 Table2 中的 Time1 列,第二秒将变为 Time2 等。如果用户每天有2条记录,则当天的第一条记录将转到 Table2 中的 Time2 列,第二条记录将进入 Time3 列。作为参考,随附了表格屏幕截图。

任何有用的链接或查询都将受到赞赏

1 个答案:

答案 0 :(得分:0)

使用ROW_NUMBER()并按UserID进行分区,按TransactionDate进行排序,以为每个用户生成数字1-4或1-2。

然后将带有四个CASE表达式的表插入到表2中。

CASE将检查子查询以获取该用户的MAX(RowNumber),然后根据您针对两种情况给出的逻辑从表1中选择适当的行。