【发布时间】:2013-03-23 00:31:20
【问题描述】:
我有一个程序让用户选择一个日期范围,然后它会查询 SQL 服务器数据库以检索他们使用小时数的日期。我想将日期放在自己的列中,而不是全部放在同一个列中。例如:
Employee Total Hours Monday 3/10 Tuesday 3/11 ....
Doe, John 40 8 8
这是现在的查询:
SELECT e.emp_fullname, t.tc_hours, t.punchDate
FROM WaspTime.dbo.vEmployeeInfo as e, WaspTime.dbo.vTimeCards as t
WHERE e.emp_id = t.tc_emp
AND t.punchDate >= '03/10/2013'
AND t.punchDate <= '03/20/2013'
结果如下:
Smith, Dan 8 2013-03-10 00:00:00.000
Smith, Dan 8 2013-03-11 00:00:00.000
【问题讨论】:
-
您有日期表还是仅基于可用日期?
-
源数据结构是什么?我们只是根据您现有的查询进行猜测。
-
对“sql server pivot query”进行谷歌搜索
-
您也可以使用 Dsql 来实现这一点,尽管枢轴解决方案可能会更好。
-
我希望在 Excel 而不是 DB 中进行最后的数据透视,因为它更容易做到。
标签: sql sql-server date