查看: 8303|回复: 14

请问一个怎样通过一个sql实现查询

[复制链接]
论坛徽章:
2
2013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2014-03-12 06:00:13
发表于 2014-3-6 18:34 | 显示全部楼层 |阅读模式
表  test 有 4个字段 A1 A2 A3 A4
数据为
SELECT * FROM text 的结果为
A1 A2 A3 A4
11  12  13  14
21  22  23  24
31  32  33  34
41  42  43  44
51  52  53  54

我希望得到的结果是
A1 A2 A3 A4  A1 A2 A3 A4 A1 A2 A3 A4
11 12 13 14   21 22 23 24 31 32 33 34
41 42 43 44   51 52 53 54  

这个是分了三个纵队,也有可能要分 4 个 或 更多
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
发表于 2014-3-6 18:43 | 显示全部楼层
一个sql做不到,为什么要用sql来做呢

使用道具 举报

回复
论坛徽章:
2
2013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2014-03-12 06:00:13
 楼主| 发表于 2014-3-6 18:44 | 显示全部楼层
其实就是图省事呗,不想做程序

使用道具 举报

回复
论坛徽章:
400
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
发表于 2014-3-6 18:46 | 显示全部楼层
select a.*,b.*,c.* from (where rownumber mod 3=1)a,(。。。2)b,(。。。0)c;

使用道具 举报

回复
论坛徽章:
400
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
发表于 2014-3-6 19:11 | 显示全部楼层
〇〇 发表于 2014-3-6 18:46
select a.*,b.*,c.* from (where rownumber mod 3=1)a,(。。。2)b,(。。。0)c;

where a.rownumber=b.rownumber and a.rownumber=c.rownumber

使用道具 举报

回复
论坛徽章:
5
优秀写手
日期:2013-12-18 09:29:112014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08马上有钱
日期:2014-10-17 12:56:56处女座
日期:2015-08-30 22:09:39
发表于 2014-3-6 20:57 | 显示全部楼层
需要动态的构造SQL语句了,

使用道具 举报

回复
论坛徽章:
2
2013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2014-03-12 06:00:13
 楼主| 发表于 2014-3-7 08:01 | 显示全部楼层
还是,没弄明白

使用道具 举报

回复
论坛徽章:
400
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
发表于 2014-3-7 08:44 | 显示全部楼层
(select a.*,lead(a.*,1),lead(a.*,2)) where rownumber mod 3=1

使用道具 举报

回复
发表于 2014-3-10 10:24 | 显示全部楼层
- -谁会这么无厘头的条件

使用道具 举报

回复
论坛徽章:
2
2013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2014-03-12 06:00:13
 楼主| 发表于 2014-3-10 10:42 | 显示全部楼层
用了一些曲折的办法,算是实现了。 把原表的数据按rownum 分成三个组。 之后用很多个sql union 在一起,逐行取出来了。 建了个视图

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,7折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时七折期:2019年8月31日前


----------------------------------------

大会官网>>
TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表