我正在使用SQL Server 2008.我有一个临时表,它返回此结果:
ID NAME TYPE REGION DATE_HIRED
--------------------------------------------------
75038 GRUPO FOO COMPANY A EUROPE 201512
75038 GRUPO FOO COMPANY A EUROPE 201511
75038 GRUPO FOO COMPANY A EUROPE 201510
我想获得公司的聘用日期和同一行中的所有信息,我希望结果的格式如下:
ID NAME TYPE REGION DATE_HIRED1 DATE_HIRED2 DATE_HIRED3...
75038 GRUPO FOO COMPANY A EUROPE 201512 201511 201510...
可能的雇用日期可能是4(201512,201511,201510,201509),但公司在其中一个日期不能签订合同?
如何使用SQL Server 2008查询以获得上述结果?
我尝试在SQL Server 2008中使用PIVOT
,但我失败了。
我怀疑PIVOT
运算符是我需要的(根据这篇文章,无论如何),但我无法弄清楚如何开始,特别是当表中的question_id行数可能不同时。在上面的示例中,它是5,但在另一个查询中,该表可能会填充7个不同的问题。
答案 0 :(得分:2)
您可以使用DELETE
或条件聚合。关键是要使用pivot
:
row_number()