【发布时间】:2022-01-11 05:17:13
【问题描述】:
我有一个数据透视表问题,希望得到帮助....
我所关注的教程没有帮助,因为它们在已知值列表上使用 IN 语句来创建列。
这是我的 IN 语句,我可能会卡住...我正在尝试子查询,但它没有帮助。
SELECT
JobDesc, YearExp
FROM
(SELECT JobDesc, YearExp, Worker
FROM Q2) AS SourceTable
PIVOT
(MIN(YearExp)
FOR YearExp IN (SELECT YearExp FROM Q2)
) AS PivotTable
数据:
| Worker | Job Description | Years of Experience |
|---|---|---|
| 1001 | Lawyer | 6 |
| 2002 | Lawyer | 12 |
| 3003 | Lawyer | 17 |
| 4004 | Doctor | 21 |
| 5005 | Doctor | 9 |
| 6006 | Doctor | 8 |
| 7007 | Scientist | 13 |
| 8008 | Scientist | 2 |
| 9009 | Scientist | 7 |
我想要达到的输出:
| Job Description | Most Experienced | Least Experienced |
|---|---|---|
| Lawyer | 3003 | 1001 |
| Doctor | 4004 | 6006 |
| Scientist | 7007 | 8008 |
【问题讨论】:
-
您不能使用子查询或任何其他类型的表达式,它必须是文字
标签: sql sql-server tsql pivot-table