TSQL – 帮助UNPIVOT
发布时间:2020-12-12 08:55:07 所属栏目:MsSql教程 来源:网络整理
导读:我正在转换此遗留表中的数据: 电话(ID int,PhoneNumber,IsCell位,IsDeskPhone位,IsPager位,IsFax位) 这些位字段不是空的,并且可能所有四个位字段都可以是1. 我怎样才能解开这个东西,以便每个位字段= 1结束一个单独的行.例如,如果原始表看起来像这样…… ID,I
我正在转换此遗留表中的数据:
电话(ID int,PhoneNumber,IsCell位,IsDeskPhone位,IsPager位,IsFax位) 这些位字段不是空的,并且可能所有四个位字段都可以是1. 我怎样才能解开这个东西,以便每个位字段= 1结束一个单独的行.例如,如果原始表看起来像这样…… ID,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,Type FROM (SELECT ID,IsFax FROM Phones) t UNPIVOT ( quantity FOR Type IN (IsCell,IsFax) ) AS u where quantity = 1 see also Column To Row (UNPIVOT) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |