嵌套查询后将结果插入自定义表,执行时出错:列名或所提供值的数目与表定义不匹配; 是因为我子查询的字段与新建的表格字段不一致吗。。。要怎么改呢? ------------------------------------------------------------------ IF NOT EXISTS (SELECT * FROM sysobjects WHERE name LIKE 'tmpworkflowusetime' AND type ='U') CREATE TABLE [dbo].[tmpworkflowusetime]( [流程标题] [varchar](1000) NULL, [区域] [varchar](1000) NULL, [创建时间] [varchar](1000) NULL, [节点名称] [varchar](1000) NULL, [工作流名称] [varchar](1000) NULL, [审批时间] [float] NULL) ON [PRIMARY]ELSE DELETE FROM tmpworkflowusetime; INSERT INTO tmpworkflowusetime SELECT流程标题,区域,创建时间,节点名称,工作流名称,ROUND(MAX(((CONVERT(float,CONVERT(datetime,CASE WHEN 操作日期 <> '' THEN CONVERT(VARCHAR,操作时间,20) ELSE CONVERT(VARCHAR,GETDATE(),20) END))-CONVERT(FLOAT,CONVERT(DATETIME,CONVERT(VARCHAR,接收时间,20))))*24*60)/60),2) 审批时间 FROM(SELECT cast(c.workflowid as varchar(100))+'-'+cast(c.requestid as varchar(100))+'-'+cast(a.requestname as varchar(100)) 流程标题,(SELECT region FROM HrmResource hr,v_mcqy qy WHERE hr.id=a.creater and qy.id=hr.subcompanyid1 ) 区域,a.createdate 创建时间,e.nodename 节点名称,workflowname 工作流名称,c.operatedate 操作日期, (c.receivedate+' '+c.receivetime) AS 接收时间, (c.operatedate+' '+c.operatetime) AS 操作时间 FROM workflow_requestbase a,workflow_base b ,workflow_currentoperator c,HrmResource d,workflow_nodebase e,v_mcqy fwhere a.workflowid=b.id and c.requestid=a.requestidand c.userid=d.idand c.nodeid =e.idand f.id=d.subcompanyid1and b.workflowtype in (38)and b.workflowname in ('XXXXX')and c.userid in (SELECT ID FROM HrmResource WHERE belongto <1)and (c.operatedate is not null or c.operatetime is not null) and (c.operatedate <>' ' or c.operatetime <>' ')and a.createdate >='2020-01-01'and a.createdate <='2020-03-31'and e.nodename not like '%归档%' and c.preisremark not in(1,8,9) and (currentnodetype=3 or (currentnodetype=2 and a.status like '%执行%') )--执行、归档 )AGROUP BY 流程标题,区域,创建时间,节点名称,工作流名称ORDER BY 区域; |