我有一个SQL查询返回1行,其中包含多个列标题:
Col 1 | Col 2 | Col 3
val 1 | Val 2 | Val 3
有没有一种方法可以将该行转换为2列,即:
Col 1 | Val 1
Col 2 | Val 2
Col 3 | Val 3
这是在SQLServer 2008 r2上运行
编辑:添加一个更好的例子
Product_Code | Product_Name | Customer_Name
101 | yummy cake | derps cake shop
来自一个简单的
select p.prod_code, p.prod_name, c.cust_name from product p
inner join customer c on p.id = c.id
类型查询。我要显示的是:
col heading 1| col heading 2
product_code | 101
Product_Name | yummy cake
customer_name| derps cake shop
试试这个
CREATE TABLE #Table1
([Col 1] varchar(5), [Col 2] varchar(5), [Col 3] varchar(5))
;
INSERT INTO #Table1
([Col 1], [Col 2], [Col 3])
VALUES
('val 1', 'Val 2', 'Val 3')
;
SELECT Col,Val FROM
(
SELECT * FROM #Table1
) P
UNPIVOT
(
val FOR Col IN ([Col 1], [Col 2], [Col 3])
) pvt
DROP TABLE #Table1
问题内容: 我有一个以下格式的表格 我想将其转换为以下格式 如何通过sql查询或sql服务器程序集实现此目的? 问题答案: 您可以完成。如果您知道已知的列数,则可以对值进行硬编码: 参见带有演示的SQL Fiddle 如果列数未知,则可以使用动态sql: 参见带有演示的SQL Fiddle 您甚至可以使用:
我有一个简单的JSON对象{“a”:{“key1”:“value1”,“key2”:“value2”,“key3”:“value3”},我想用一列“Key”将其转换成行。问题是我事先不知道钥匙的名字,或者有多少。换句话说,可能有“键4”、“键5”。也可能有“xyz1”:“xyz1”作为“a”对象中的键/值。我可以用JavaScript迭代这个JSON对象,但我这里的任务是,假设这个JSON对象作为
问题内容: 考虑下面的示例,其中有一个包含人员记录的 Person 表和一个包含链接到人员的可选属性的 PersonAttribute 表: Table: Person Table PersonAttribute 我将如何编写一个查询,使所有具有属性的人都像列一样返回?我需要的结果集是: 因此,从本质上讲,我需要编写一个查询,该查询将获取所有带有所有唯一属性键的人记录,这些键被转换为具有每个人记录
问题内容: 我的表包含以下列: 我想显示如下: 如您所见,我想将列与自定义列名成对显示。这对是列A和B,列C和D以及列C和D。 问题答案:
问题内容: 我有一个包含两列的表: 我需要在PostgreSQL中进行某种形式的一键编码并将表转换为: 是否可以仅使用SQL?有关如何入门的任何提示? 问题答案: 如果我正确理解,则需要条件聚合:
问题内容: 我有一个具有当前值和先前值的sql表。 我想比较它们,如果值有变化,请在下表中显示。 在SQL 2008中是否可以不循环每一列? 问题答案: 您可以使用取消透视数据: 请参阅带有演示的SQL Fiddle。 仅仅因为我喜欢使用 数据透视 功能,所以以下是同时使用 取消 数据透视 和 数据透视 功能来获取结果的版本: 参见带有演示的SQL Fiddle