0

我有一张员工出勤表 - 可以说 - OATT。以下是结构和示例数据

AttDate EmpId EmpName AttCode InTime OutTime
01-10-2009 1 耆那教,拉胡尔 P 0900 1830
02-10-2009 1 耆那教,拉胡尔 P 0900 1830
03-10-2009 1 耆那教,拉胡尔 P 0900 1830
04-10-2009 1 耆那教,拉胡尔 P 0900 1830
05-10-2009 1 耆那教,拉胡尔 P 0900 1830
06-10-2009 1 Jain, Rahul WO 0900 1830
07-10-2009 1 Jain, Rahul WO 0900 1830
08-10-2009 1 耆那教,拉胡尔 P 0900 1830
09-10-2009 1 耆那教,拉胡尔 L 0900 1830
10-10-2009 1 耆那教,拉胡尔 P 0900 1830
01-10-2009 1 耆那教,拉胡尔 A 0900 1830

我需要以下结果:

EmpId 01-10 02-10 03-10 04-10 05-10
1个PPP
2 PPPLP
3 购买力平价

我知道这可以使用数据透视查询来完成,但我需要一个动态查询来为指定的日期范围执行此操作。我正在使用 SQL Server 2005。

4

2 回答 2

1

PIVOT 关键字可能会有所帮助,但即便如此,您仍然需要在运行查询之前知道您的列是什么。这通常意味着运行两个查询:一个是获取列名列表,第二个是实际获取结果。

于 2010-01-23T14:07:57.100 回答
-1

一种解决方案是让 Query 将 TSQL 代码打印到变量中,然后调用 exec @variable

于 2010-01-23T14:18:25.923 回答