【发布时间】:2019-02-18 12:49:49
【问题描述】:
我有一些关于某个特定人的信息,我想在两行而不是多列中显示。
我希望列是“ColumnName”和“ColumnData”
这是我返回单行的查询:
SELECT C.CUSTOMER_NAME
,CC.CONTACT_NAME
,CC.TELEPHONE
,CC.FAX
,CC.CONTACT_INITIALS
,CC.CONTACT_FIRSTNAME
,CC.EMAIL
,CC.CONTACT_DEAR
,CC.NUMERIC_PHONE_NO
,CC.TELEPHONE_NUMBER2
,CC.MOBILE_TELEPHONE
,CC.NUMERIC_TELEPHONE2
,CC.NUMERIC_MOBILE
,CC.NUMERIC_FAX
,CC.CONTACT_FULL_NAME
,CONTACT_MIDDLE_NAMES
FROM table C
INNER JOIN table CC
ON C.column = CC.column
WHERE C.column = @CustomerAccount
我已尝试对此进行反透视,但由于没有聚合且每行只有一个值,因此未能使其正常工作。
虽然我可以从 sys.columns 中获取列名,但我无法将它们与表相关联,并且还必须取消透视它们。
有没有办法将这一行变成两列,包括列名和该列中的数据?
任何帮助、链接或指导将不胜感激。
谢谢
会。
【问题讨论】:
-
编辑问题添加一些示例数据和所需的结果会有所帮助。
标签: sql-server tsql unpivot