mssql中合并两行为一行的问题

原表
图片说明

现在希望查询结果变为这样
图片说明

后台c#写的,数据库查询结果直接变为这样,或者后台处理变成这样都行。给个思路,请大佬指教指教、蒙蔽几小时了= 。=

图片说明
详细一点是这样。就是能把当天的两次数据合并显示。

你想结果是什么样的?

例如这样:select a.devicesn,a.devicetemp,a.devicesd,a.devicezd,b.devicec02
from 表名 a left join 表名 b on substr(a.devicesn,2,3)=**substr**(b.devicesn,2,3)
试试吧

对于两行重复的情况,可以通过如下sql实现:
设表名table1,从左到右的列名分别为col1,col2,col3
SELECT min(col1),min(col2),min(col3),max(col3) FROM table1 GROUP BY col1,col2

SELECT class_id ,class_name ,main_class_flag ,GROUP_CONCAT(stu_id SEPARATOR ',') as stuid from courses WHERE class_name = '计算机';
用这个 group_concat()

使用union关键词

select t.*,s.

参考一下这个http://blog.csdn.net/rainyspring4540/article/details/50231435

![图片说明](https://img-ask.csdn.net/upload/201711/21/1511258618_970540.png)图片说明
select a.*,b.time from t_test a left join t_test b on a.name = b.name and a.date = b.date group by a.date;

select * from t_test;
图片说明

select a.*,b.time from t_test a left join t_test b on a.name = b.name and a.date = b.date group by a.date;
图片说明