我运行一个使用i excel的查询。数据每周更新一次,通过一个程序。有时,程序返回时没有数据。在这些情况下,我想添加一个带有日期的虚拟行,因此excel的用户看到此日期没有数据。
我有一个名为TAG的专栏。标签1-4。如果标签3没有数据返回,我想插入一行。
我只有一个tmp表。如果它不包含标记3的数据,我想添加一个只有日期但没有数据的虚拟行
CREATE procedure [dbo].[pr_quality_weekly]
as
begin
insert into #tmp(date_run,country,tag,company,campaign,seller,orderdate,reg_date,enddate,cust_desc1,cust_desc2,phone_1,phone_2,delivery,reason,date_of_birth,product)
Select * FROM prod_no
where date between datfrom and dateto
insert into #tmp(date_run,country,tag,company,campaign,seller,orderdate,reg_date,enddate,cust_desc1,cust_desc2,phone_1,phone_2,delivery,reason,date_of_birth,product)
Select * FROM prod_se
where date between datfrom and dateto
Insert into prod_weekly (date_run,country,tag,company,campaign,seller,orderdate,reg_date,enddate,cust_desc1,cust_desc2,phone_1,phone_2,delivery,reason,date_of_birth,product)
(Select date_run,country,tag,company,campaign,seller,orderdate,reg_date,enddate,cust_desc1,cust_desc2,phone_1,phone_2,delivery,reason,date_of_birth,product
from #tmp)
END
答案 0 :(得分:0)
虽然我不知道你的代码在做什么,创建该行可能很简单,但如果你的prod周表中有NOT NULL
列,那么你必须提供空字符串作为填充
Select date_run,country,days.tag,company,campaign
, seller,orderdate,reg_date,enddate
, cust_desc1,cust_desc2
, phone_1,phone_2,delivery,reason,date_of_birth,product
from (values (1),(2),(3),(4),(5)) days(tag)
left join #tmp on days.tag=#temp.tag