我们假设我有两个表tblProducts
和tblPromoItems
,它们都包含相同的记录类型。为简化起见,假设每条记录只有两个属性ID
和creation_date
。如何从tblProducts
获取记录并插入tblPromoItems
,以便只插入 n 总记录,并且只有 i 记录实例使用相同的creation_date
?
例如,使用下表,我将如何插入总共3条记录,条件是最多可以有2条具有相同creation_date
的记录。
tblProducts
ID| creation_date
A | 2014-12-01
B | 2014-12-01
C | 2014-12-01
D | 2014-12-02
答案 0 :(得分:0)
您可以row_number()
使用common table expression
每个日期获得2条记录:
with cte as (
select *,
row_number() over (partition by cast(creation_date as date)
order by creation_date desc) rn
from tblProducts
)
select *
from cte
where rn <= 2
我不太清楚你的意思,只能输入n个记录。想必要限制插入表中的插入数量?一种方法是使用top
- select top 100 ...