【发布时间】:2019-05-24 23:20:15
【问题描述】:
下面是我想在我的 select 语句中操作的数据示例。
Employee ID | Department ID | FirstName | LastName | Role
----------------------------------------------------------------
1 | 1 | Jack | Skeleton | Cashier
2 | 2 | Rachel | Sparrow | Cashier
3 | 1 | Samuel | Kite | Bagger
4 | 2 | Arnold | Herrera | Bagger
5 | 1 | Edwin | Molina | Bagger
以下是我想要显示我的数据的方式。
Dept ID| Emp ID | Role | Emp ID | Role | EmpID | Role |
-----------------------------------------------------------------
1 | 1 |Cashier | 3 |Bagger | 5 | Bagger|
2 | 2 |Cashier | 4 |Bagger |
我尝试了 Pivot,但为同一行中的每个员工选择相同的列对我来说是个问题。
我还想指出,每个部门都有不同数量的员工。因此,有些行会显示该部门的 6 名员工,而其他行会显示 4 或 9 人
【问题讨论】:
-
如果您不知道需要多少列,那么您需要一个动态数据透视。这在表示层可能更容易实现。
-
(显然--)这是一个常见问题。在考虑发布之前,请始终在谷歌上搜索任何错误消息以及您的问题/问题/目标的许多清晰、简洁和准确的措辞,包括和不包括您的特定字符串/名称;阅读许多答案。如果您发布问题,请使用一个短语作为标题。请参阅How to Ask 和投票箭头鼠标悬停文本。 PS如果你没有写清楚你想要什么,那么你就无法搜索它&或要求它&你希望如何编程?
-
请在代码问题中给出minimal reproducible example--剪切&粘贴&运行代码;具有期望和实际输出的示例输入(包括逐字错误消息);明确的规范和解释。我们只有一个例子,所以我们只能猜测那是什么。需求转储不是主题问题。请参阅How to Ask,点击谷歌搜索“stackexchange 作业”和投票箭头鼠标悬停文本。展示您可以做的相关部分并在您遇到困难的地方进行解释。
标签: sql sql-server pivot self-join