【问题标题】:SQL Server: dynamic columns based on row values (Date) [duplicate]SQL Server:基于行值的动态列(日期)[重复]
【发布时间】:2018-12-15 20:37:52
【问题描述】:

我已经花了一个小时来解决这个问题。

我想根据AttendanceDate 列中的值动态生成列。

我发现了一些类似的问题,但不幸的是,这些例子太复杂了,我无法理解。

数据:

预期输出:

【问题讨论】:

  • 谷歌:SQL Server 动态数据透视。
  • 这是一个常见问题...您是否尝试过使用 StackOverflow 中的其他示例来实现这样的 Pivot?例如,这里有人询问名称为“姓名”、“电子邮件”、“电话”等名称的列……你会使用你的日期,但这没关系,因为它是动态的……stackoverflow.com/questions/12210692/t-sql-dynamic-pivot跨度>
  • 您将被提及许多其他示例。尝试一些东西......任何东西。
  • 如果你不明白你发现了什么,至少展示你到目前为止尝试过的东西,这样我们可以帮助你。否则,我们提供的任何答案都意味着您也不了解它,这意味着它对您毫无用处。除非您能理解和维护提供给您的代码,否则您不应该使用它。
  • 我有点放弃了枢轴的事情。我刚刚执行了多个查询。查询按以下顺序排列: 1. 学生列表 2. 所有日期(不同) 3. 每个学生的所有状态以及日期条件。我会在需要时对此进行优化。目前,我的重点是原型。谢谢大家。

标签: sql sql-server tsql


【解决方案1】:

这可以使用 cmets 中提到的 stuff 方法或使用 while exists 实现来完成:

http://rextester.com/FPU47008

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-21
    • 2018-03-27
    • 2021-05-17
    • 1970-01-01
    • 2013-10-26
    • 2019-05-11
    • 2022-01-04
    • 2016-02-14
    相关资源
    最近更新 更多