我是MSSQL SERVER的新手。我正在接受循环挑战。
这是我的情景:
我有一个充满SMS消息传递数据的事务表。 (tbl_sentTransaction)
以下是它的样子:
onWrite
现在,从tbl_sentTransaction,我必须将它插入到自己的表中。
所以我有一个标题表和详细信息表。
这就是我想要做的事。
如果来自tbl_sentTransaction的记录具有相同的TransNum,我会将其视为一条记录。所以我将把TransNum插入标题表一次。
然后我会多次将TransInfo插入到详细信息表中。所以基于给定的例子:
TransCtr|TransNum|TransInfo
---------------------------
1 |11111111|some info 1
---------------------------
2 |11111111|some info 2
---------------------------
3 |11111111|some info 3
---------------------------
4 |11111111|some info 4
---------------------------
你会帮助我实现这个目标吗?我不能让它发挥作用。希望我能很好地解释自己。非常感谢。任何建议都将不胜感激。
答案 0 :(得分:0)
如果在处理事务表后删除事务表,则可以使用以下代码
insert into tbl_trans_detail (
TransCtr, TransNum, TransInfo
)
select
TransCtr, TransNum, TransInfo
from tbl_sentTransaction
insert into tbl_trans_header (
TransCtr, TransNum
)
select distinct
1, TransNum
from tbl_sentTransaction
答案 1 :(得分:0)
你可以使用它。
INSERT INTO tbl_trans_header (TransCtr, TransNum)
SELECT MIN(TransCtr), TransNum
FROM tbl_sentTransaction
GROUP BY TransNum
INSERT tbl_trans_detail (TransCtr, TransNum, TransInfo)
SELECT MIN(TransCtr) OVER(PARTITION BY TransNum), TransNum, TransInfo
FROM tbl_sentTransaction