@sql='select '+@colstr+',from '+@table+' where YMD between '+@wherestr+@grpstr
时间: 2023-05-18 09:03:30 浏览: 78
这是一个 SQL 查询语句,其中包含了变量 @colstr、@table、@wherestr 和 @grpstr。这些变量的具体含义需要根据上下文来确定。如果您能提供更多的信息,我可以尝试帮助您解决问题。
相关问题
ALTER PROCEDURE [dbo].[getHcrStat1580] @wherestr varchar(200), @YMD tinyint AS BEGIN SET NOCOUNT ON; DECLARE @class varchar(200),@grpstr varchar(50),@sql nvarchar(1200),@colstr varchar(400),@table varchar(20) set @table='[NGtbhcr1580]' set @class='class' if @YMD=0 begin set @colstr='rq=YMD,FUR_NO,'+@class set @grpstr=' group by YMD,FUR_NO,class' end else if @YMD=1 begin set @colstr='rq=YM,FUR_NO,'+@class set @grpstr=' group by YM,FUR_NO,class with rollup' end else if @YMD=2 begin set @colstr='rq=YY,FUR_NO,'+@class set @grpstr=' group by YY,FUR_NO,class with rollup' end set @sql='select '+@colstr+'from '+@table+' where YMD between '+@wherestr+@grpstr exec sp_executesql @sql,N'@colstr varchar(400)',@colstr end
这是一个 SQL 存储过程,根据传入的参数 @wherestr 和 @YMD,查询 NGtbhcr1580 表中符合条件的数据,并按照日期、FUR_NO 和 class 进行分组统计。其中,@YMD 参数为 0 时按日统计,为 1 时按月统计,为 2 时按年统计。查询结果包括日期、FUR_NO 和 class 三个字段,以及对应的统计数据。
USE [text] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[getHcrStat1580] @wherestr varchar(200), @123 tinyint AS BEGIN SET NOCOUNT ON; DECLARE @class varchar(200),@grpstr varchar(50),@sql nvarchar(1200),@colstr varchar(400),@table varchar(20) set @table='[NGtbhcr1580]' set @class='class=case class when ''甲'' then ''甲班'' when ''乙'' then ''乙班'' when ''丙'' then ''丙班'' when ''丁'' then ''丁班'' else '''' end' if @123=0 begin set @colstr='rq=YMD,FUR_NO,'+@class set @grpstr=' group by YMD,FUR_NO,class' end else if @123=1 begin set @colstr='rq=YM,FUR_NO,'+@class set @grpstr=' group by YM,FUR_NO,class with rollup' end else if @123=2 begin set @colstr='rq=YY,FUR_NO,'+@class set @grpstr=' group by YY,FUR_NO,class with rollup' end set @sql='select '+@colstr+', tll=convert(numeric(14,2),sum(tll)), rzl350=convert(numeric(8,2),sum(rz350t)/sum(tll)*100), rzl450=convert(numeric(8,2),sum(rz450t)/sum(tll)*100), rzl600=convert(numeric(8,2),sum(rz600t)/sum(tll)*100), RZPJT=convert(numeric(8,2),sum(RZPJT)/nullif(sum(rznum),0)), JPL=convert(numeric(8,2),sum(JPL)/sum(tll)*100), FGL=convert(numeric(8,2),avg(FGL)), jtmp=convert(numeric(8,2),avg(jtmp)), N230=convert(numeric(8,2),avg(N230)) from '+@table+' where YMD between '+@wherestr+@grpstr exec sp_executesql @sql,N'@colstr varchar(400)',@colstr end
这是一个 SQL 存储过程,用于从表 [NGtbhcr1580] 中获取数据。根据传入的参数 @wherestr 和 @123,可以按照不同的时间粒度和分组方式进行聚合计算。具体的计算包括总产量 tll、350、450、600 等三个品种的入柜率 rzl、平均入柜票价 RZPJT、机台利用率 JPL、废品率 FGL、加热温度 jtmp 和 N230 等指标。
阅读全文