gpt4 book ai didi

sql - TSQL - UNPIVOT 帮助

转载 作者:行者123 更新时间:2023-12-02 18:44:54 28 4
gpt4 key购买 nike

我正在转换此旧表中的数据:
电话(ID int、PhoneNumber、IsCell 位、IsDeskPhone 位、IsPager 位、IsFax 位)

这些位字段不可为空,并且所有四个位字段都可能为 1。

我怎样才能取消旋转这个东西,以便我最终为每个位字段= 1 提供一个单独的行。例如,如果原始表格如下所示...

ID, PhoneNumber, IsCell, IsPager, IsDeskPhone, IsFax
----------------------------------------------------
1 123-4567 1 1 0 0
2 123-6567 0 0 1 0
3 123-7567 0 0 0 1
4 123-8567 0 0 1 0

...我希望结果如下:

ID   PhoneNumber   Type
-----------------------
1 123-4567 Cell
1 123-4567 Pager
2 123-6567 Desk
3 123-7567 Fax
4 123-8567 Desk

谢谢!

最佳答案

2005/2008版本

SELECT ID, PhoneNumber, Type
FROM
(SELECT ID, PhoneNumber,IsCell, IsPager, IsDeskPhone, IsFax
FROM Phones) t
UNPIVOT
( quantity FOR Type IN
(IsCell, IsPager, IsDeskPhone, IsFax)
) AS u
where quantity = 1

see also Column To Row (UNPIVOT)

关于sql - TSQL - UNPIVOT 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2113251/

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