gpt4 book ai didi

sql - 使用 varchar 数据类型进行 PIVOT

转载 作者:行者123 更新时间:2023-12-01 23:02:53 25 4
gpt4 key购买 nike

我正在尝试对表中的某些数据进行透视,但我无法执行此操作,因为我找不到使用 varchar 列执行此操作的方法。我有这张表:

enter image description here

我需要的是这个:

enter image description here

我需要使用“ug_label”行数据作为列。由于数据类型是 VARCHAR,我无法在 PIVOT 内使用聚合函数。

我想我可能需要这样的东西:

SELECT *
FROM
(SELECT [c_id]
,[c_lname] as [Apellido]
,[c_fname] as [Nombre]
,[c_nick_name] as [documento]
,[ut_text]
,f.ug_label
FROM [pegasys].[dbo].[cardholder] c
inner join [pegasys].[dbo].[udftext] u on c.c_id = u.ut_cardholder_id
inner join [pegasys].[dbo].[udfgen] f on u.ut_udfgen_id = f.ug_id) AS S
PIVOT
(
UT_TEXT
FOR
[UG_LABEL]
IN ([Torre], [Cuit], [Empresa], [Departamento])
) as s

有人可以帮我吗?

谢谢。

最佳答案

您仍然可以使用 PIVOT 函数来获取结果,但由于您正在聚合 varchar,因此您必须使用 maxmin :

SELECT *
FROM
(
SELECT [c_id]
,[c_lname] as [Apellido]
,[c_fname] as [Nombre]
,[c_nick_name] as [documento]
,[ut_text]
,f.ug_label
FROM [pegasys].[dbo].[cardholder] c
inner join [pegasys].[dbo].[udftext] u on c.c_id = u.ut_cardholder_id
inner join [pegasys].[dbo].[udfgen] f on u.ut_udfgen_id = f.ug_id
) d
PIVOT
(
max(ut_text)
FOR UG_LABEL IN ([Torre], [Cuit], [Empresa], [Departamento])
) p

关于sql - 使用 varchar 数据类型进行 PIVOT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21630650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com