sql表中两行的合并值出现在一行的两列中 [英] merge values in two rows in an sql table appear in two columns of one row

查看:208
本文介绍了sql表中两行的合并值出现在一行的两列中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要SQL方面的帮助.我有一个具有这种结构的表.

I need help in SQL. I have a table with this structure.

:

我需要的是一个查询来返回这样的数据.

What I need is a query to return the data like this.

:

非常感谢您!

亲切的问候, Bgergoe

Kind regards, bgergoe

推荐答案

已经问了几十遍,但是写出代码非常简单.有条件的聚合是非常简单的,并且代码比PIVOT的钝性要小得多.这是您的处理方法.

This has been asked and answered dozens of times but it is super simple to write out the code. Conditional aggregation is pretty straight forward and the code is far less obtuse than PIVOT. Here is how you would go about this.

SELECT ID
    , MAX(CASE WHEN Field = 'name' THEN Value END) AS name
    , MAX(CASE WHEN Field = 'phone number' THEN Value END) AS PhoneNumber
FROM YourTable
GROUP BY ID

这篇关于sql表中两行的合并值出现在一行的两列中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆