SQL里面如何将竖着的列横着显示
card_nodatatime18日期时间118日期时间2怎么显示成card_nodatatime1time218日期时间1时间2...
card_no data time
18 日期 时间1
18 日期 时间2
怎么显示成
card_no data time1 time2
18 日期 时间1 时间2 展开
18 日期 时间1
18 日期 时间2
怎么显示成
card_no data time1 time2
18 日期 时间1 时间2 展开
2014-11-14
展开全部
一般这样的情况 如果是我做的话 就预先建立一个表 设置time1 time1 time3……
然后 分别逐次以 no 和日期为 time 分组 ;行标题 time 为列标题 和 值(求和)……对先前建立的表进行追加……
SQL 我不太熟悉 在access 中 完全可以做的……
还有 如果 你能够 把你的时间 划分成不同的时间段 而对应到固定的时间段中的话,完全 直接可以使用 一个交叉查询就可以了……
但愿 这个提示 对你有所帮助……
然后 分别逐次以 no 和日期为 time 分组 ;行标题 time 为列标题 和 值(求和)……对先前建立的表进行追加……
SQL 我不太熟悉 在access 中 完全可以做的……
还有 如果 你能够 把你的时间 划分成不同的时间段 而对应到固定的时间段中的话,完全 直接可以使用 一个交叉查询就可以了……
但愿 这个提示 对你有所帮助……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是一个行列转换问题,你应该学习一下行列转换的知识。
使用以上知识,可以得到
------------------------------------------
card_no,data,[时间1],[时间2]
------------------------------------------
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用PIVOT函数
PIVOT(<聚合函数>([聚合列值]) FOR [行转列前的列名] IN([行转列后的列名1],[行转列后的列名2],[行转列后的列名3],.......[行转列后的列名N]))
PIVOT(<聚合函数>([聚合列值]) FOR [行转列前的列名] IN([行转列后的列名1],[行转列后的列名2],[行转列后的列名3],.......[行转列后的列名N]))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select a.card_no,a.date,a.time time1,b.time time2 from t a inner join t b on a.card_no=b.card_no and a.date=b.date and a.time<b.time
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-11-14 · 知道合伙人软件行家
关注
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询