sql - sql server 2008分组时获取相关字符串数据

标签 sql sql-server sql-server-2008

我有一个像这样的表:

id   name1   name2   name3
1    yok     null     null
1    null    yok      null
1    null    null     yok

我想要的输出是:

id   name1   name2   name3
1    yok     yok     yok

我尝试的是:

select id, name1, name2, name3
from trial
group by id

表创建脚本如下:

Create table trial (id int, name1 varchar(10),name2 varchar(10),name3 varchar(10))
insert into trial values (1,'yok',null,null)
insert into trial values (1,null,'yok',null)
insert into trial values (1,null,null,'yok')

我该怎么做?

最佳答案

您可以尝试如下声明

Select 
  id,
  max(name1) name1,
  max(name2) name2,
  max(name3) name3
from trial
group by id

<强> Sql demo

关于sql - sql server 2008分组时获取相关字符串数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36479419/

相关文章:

MySQL::从逗号分隔的字符串中选择

sql-server - SQL Server 2008 R2 智能感知不起作用

sql-server - SQL Server数据库备份还原低版本

SQL在SELECT中使用变量

SQL Server/Oracle : Private temporary tables

sql - 在SQL中将字符串列表转换为Int列表

mysql - SQL:多次重复结果行,并对行编号

mysql - 查询链接 4 个表

java - 无法通过 Java 检索存储过程返回值

sql-server-2008 - 如何授予用户对所有数据库的只读访问权限