sql如何实现吧多条记录合成一条

2024-10-31 12:18:22

1、打开SSMS并登录数据库,点击新建查询按钮新建一个查询窗口。下面将用一个三国武将的属性表为例演示如何将多行数据合并成一行。

sql如何实现吧多条记录合成一条

3、接着往WScore表插入一些武将的数据。执行以下语句:INSERT INTO WScore VALUES('姜维','统率',90);INSERT INTO WScore VALUES('姜维','武力',88);INSERT INTO WScore VALUES('姜维','智力',91);INSERT INTO WScore VALUES('张郃','统率',91);INSERT INTO WScore VALUES('张郃','武力',89);INSERT INTO WScore VALUES('张郃','智力',69);INSERT INTO WScore VALUES('陆逊','统率',96);INSERT INTO WScore VALUES('陆逊','武力',69);INSERT INTO WScore VALUES('陆逊','智力',95);

sql如何实现吧多条记录合成一条

5、可以使用 Case when + group by 的组合来实现多行数据合并,执行以下语句按姓名汇总,可以看到每名武将都合并到一行数据里了。SELECT WName AS '姓名', MAX(CASE Subject WHEN '统率' THEN Score ELSE 0 END) AS '统率', MAX(CASE Subject WHEN '武力' THEN Score ELSE 0 END) AS '武力', MAX(CASE Subject WHEN '智力' THEN Score ELSE 0 END) AS '智力'FROM WScoreGROUP BY WName

sql如何实现吧多条记录合成一条
猜你喜欢