【发布时间】:2021-04-09 15:41:20
【问题描述】:
我是 SQL 中控制结构的新手,我正在尝试遍历包含客户和日期信息的表,并根据日期列,找到该客户在接下来 7 天内的销售额并将其插入另一个桌子。这是我到目前为止所拥有的,但我认为 set 语句不适用于 select:
create procedure proc()
for cust_cursor as cc cursor for
select customer, date_dt from table1
do
set sales = (
select sum(sales_amt) from table2
where customer = cust_cursor.customer and date_dt between cust_cursor.date_dt and (interval '7' day + cust_cursor.date_dt)
)
insert into table3 values (cust_cursor.customer, sales)
end for;
call proc();
【问题讨论】:
-
请注意,“loop through”通常应该转换为“JOIN”。但要解决您的具体问题,请使用
SELECT INTO而不是SET。