新手,编写SQL语句。

2017-05-06 02:36
如下图,在SQL2008中,一个表中存在下面的情况,如果实现,同一行中某字段,通过判断,放在不同的字段中。
新手,编写SQL语句。0

回复讨论(解决方案)

我已试着一个方法 了,现在又出来一个新的问题了。如下图怎么处理?
新手,编写SQL语句。1
--测试数据
if not object_id(N'Tempdb..#T') is null
	drop table #T
Go
Create table #T([col_kqdatetime] Date,[col_id] int,[col_kq_result_E] int,[col_kq_result_M] int)
Insert #T
select '2017-05-03',2,null,1 union all
select '2017-05-03',1017,1,null union all
select '2017-05-02',1748,null,1 union all
select '2017-05-02',1771,1,null union all
select '2017-05-02',2658,null,1
Go
--测试数据结束
SELECT  col_kqdatetime ,
        MAX(col_id) AS col_id ,
        MAX(col_kq_result_E) AS col_kq_result_E ,
        MAX(col_kq_result_M) AS col_kq_result_M
FROM    #T
GROUP BY col_kqdatetime


新手,编写SQL语句。2
大哥。这不是我想要的结果哦,是要这些数据都显示在同一个表里面。如下
新手,编写SQL语句。3
新手,编写SQL语句。4
大哥。这不是我想要的结果哦,是要这些数据都显示在同一个表里面。如下


没看明白,建议楼主按照大版要求给出测试数据和想要的结果,方便大家帮助你
http://bbs.csdn.net/topics/391996442
大哥,我重新理了一下,你看这样描述清楚么?
新手,编写SQL语句。5
我把表格作为链接
http://pan.baidu.com/s/1c1C2fHQ
测试数据我用的这个
if not object_id(N'Tempdb..#T') is null
	drop table #T
Go
Create table #T([col_name] nvarchar(23),[col_kqdatetime] Date,[col_kq_result_E] int,[col_kq_result_m] int,[col_kqtime_e] int,[col_kqtime_m] int,[col_kq_time_string_m] nvarchar(28),[col_kq_time_string_e] nvarchar(28))
Insert #T
select N'左建琼','2017/5/3',0,1,0,30599,N'08:29:59',N'0' union all
select N'左建琼','2017/5/3',1,0,65313,0,N'0',N'18:08:33' union all
select N'邹楠','2017/5/3',1,0,65313,0,N'0',N'18:08:33' union all
select N'邹楠','2017/5/3',0,1,0,31752,N'08:49:12',N'0' union all
select N'邹楠','2017/5/3',0,1,65053,0,N'0',N'18:04:13' union all
select N'邹梅','2017/5/3',0,1,0,25304,N'07:01:44',N'0'
Go

新手,编写SQL语句。6
查询语句:
SELECT  [col_name] ,
        [col_kqdatetime] ,
        MAX([col_kq_result_E]) AS [col_kq_result_E],
		MAX([col_kq_result_m]) AS [col_kq_result_m],
		MAX([col_kqtime_e]) AS [col_kqtime_e],
		MAX([col_kqtime_m]) AS [col_kqtime_m],
		MAX([col_kq_time_string_m]) AS [col_kq_time_string_m],
		MAX([col_kq_time_string_e]) AS [col_kq_time_string_e]
FROM    #T
GROUP BY [col_name] ,
        [col_kqdatetime]


新手,编写SQL语句。7

适当修改下应该可以吧
谢谢大哥,按你的方法 已经可以正常了。谢谢