-4
USE [Montessorischool] GO /****** Object: StoredProcedure [dbo].[GetAttn1] Script Date: 8/28/2017 10:33:44 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER proc [dbo].[GetAttn1] @startdate date, @enddate date, @class1 varchar(20)
as
--DECLARE @startdate int
--DECLARE @enddate int
--declare @strdays NVARCHAR(4000) declare @cols NVARCHAR(4000) DECLARE @qry NVARCHAR(4000) DECLARE @where VARCHAR(20) begin
--select @startdate from att --union ALL --select @startdate
+ 1 from att --where @startdate < @enddate into #Dates ;
SELECT DISTINCT Date1 INTO #Dates FROM att where Date1 between @startdate and @enddate ORDER BY Date1;
SELECT @cols = COALESCE(@cols + ', ['+ convert(varchar(50),DATEPART(d,Date1),106) + ']', '['+ convert(varchar(50),DATEPART(d,Date1),106) + ']') from #Dates ;
SET @qry =
'SELECT * FROM (SELECT name, status,class, DATEPART(d,Date1) Date1 FROM att) tbldate PIVOT (MAX(status) FOR Date1 IN (' + @cols + ')) AS stat';
Execute(@qry)
-- Dropping temporary tables DROP TABLE #Dates;
end GetAttn1 '2017-08-10','2017-08-30','LKG'
Blockquote
iはアウト置く
Ashok LKG NULL NULL NULL NULL NULL NULL
A Krishan LKG P P P A A NULL
Naveen LKG P P P P P NULL
Santosh LKG P A P P P NULL
にご@qryが必要
としてではなくある日と終了日を開始し、クラスのベースに出席を見つけます何をしようとしているのか説明してください。あなたは何をしたいですか?また、期待される結果のいくつかのサンプルデータを提供してください。 – Squirrel私はテーブル名を持っていますが、学生の出席者は1kg、ukgとpreです。私は出席を見たいと思う1つのクラス(実行時に提供する)開始日から終了日までの1日に期待されるデータが表示されます –