| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 948 人关注过本帖
标题:SQL查询表竖行变横行
只看楼主 加入收藏
shunlai
Rank: 1
等 级:新手上路
威 望:1
帖 子:228
专家分:0
注 册:2006-2-1
结帖率:94.12%
收藏
已结贴  问题点数:20 回复次数:15 
SQL查询表竖行变横行
各位专家高人新年好!我又遇到一个棘手问题,就是在一个竖行表中如何让其查询结果变成横行?谢谢!
假如原表下为:
bh zl sz
1  a  2
1  b  3
1  c  4
1  d  5
2  a  6
2  b  7
2  c  8
2  d  9
查询结果变成:
bh   a  b  c  d
 1   2  3  4  5
 2   6  7  8  9
搜索更多相关主题的帖子: 如何 
2015-02-27 09:44
shunlai
Rank: 1
等 级:新手上路
威 望:1
帖 子:228
专家分:0
注 册:2006-2-1
收藏
得分:0 
各位高人:
看来此问题真是个棘手问题,诸位帮忙呀谢谢!顺便提醒一下数据库是ACCESS。请帮忙,非常感谢!
2015-02-28 09:13
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:14 
想到的是使用 多个查询 来生成中间结果,然后再然后一个查询来生成最终结果

1、先生成  a 的查询,字段 bh、a
2、生成  b 的查询
3、生成 c 的查询
4、生成 d 的查询

5、对这4个查询进行 多表 查询。

没有 环境,没办法测试。你慢慢想吧。

授人于鱼,不如授人于渔
早已停用QQ了
2015-02-28 15:29
shunlai
Rank: 1
等 级:新手上路
威 望:1
帖 子:228
专家分:0
注 册:2006-2-1
收藏
得分:0 
谢谢版主的指点!我按此思路试试看,不懂再行请教。
再谢了!
2015-02-28 17:33
shunlai
Rank: 1
等 级:新手上路
威 望:1
帖 子:228
专家分:0
注 册:2006-2-1
收藏
得分:0 
版主我试了一下,水平有限请指教。
分别查询:
sqla= "select bh,zl from aaa where zl='" & "a" & "'"
sqlb = "select bh,zl from aaa where zl='" & "b" & "'"
sqlc = "select bh,zl from aaa where zl='" & "c" & "'"
sqld = "select bh,zl from aaa where zl='" & "d" & "'"
多表查询:
sql = "select sqla,sqlb,sqlc,sqld from aaa group by sqla,sqlb,sqlc,sqld "  ‘这个多表查询方法错误!请指教。谢谢
2015-02-28 19:13
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
使用向导去做啊。

大体上是
select sqla.bh,sqla.a,sqlb.b,sqlc.c,sqld.d from sqla where sqlb.bh=sqla.bh and sqlc.bh=sqla.bh and sqld.db=sqla.bh

或者使用 join 关键字进行连接查询。没有环境,无法测试。

授人于鱼,不如授人于渔
早已停用QQ了
2015-03-01 21:36
shunlai
Rank: 1
等 级:新手上路
威 望:1
帖 子:228
专家分:0
注 册:2006-2-1
收藏
得分:0 
非常感谢版主的回复,但我试了一下sqla导入后程序运行错误!可能不认,为“至少一个参数未被指定”。
2015-03-02 21:23
shunlai
Rank: 1
等 级:新手上路
威 望:1
帖 子:228
专家分:0
注 册:2006-2-1
收藏
得分:0 
我的问题至今仍未解决!希望大家帮忙谢谢。
2015-03-04 22:04
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
今天才有空仔细看一下。

我说的方法是在 access 里实现,因为没有环境,所以没办法测试。

在那里面写查询,操作对象 可以是表,也可以是查询 。
如果没有保存过前面三个查询,那么直接使用 第四个查询,铁定报错的。

授人于鱼,不如授人于渔
早已停用QQ了
2015-03-06 11:25
shunlai
Rank: 1
等 级:新手上路
威 望:1
帖 子:228
专家分:0
注 册:2006-2-1
收藏
得分:0 
风吹过b:版主你好!
真是非常感谢你的回复与帮忙,鄙人是非专业爱好者,且年龄大水平很低。只是为解决工作中问题编点小程序而已,哈哈!你提的的方法是在accsee中实现,因为我小程序查询的是在公司局域网上查询某一设备的accsee数据库。所以最好不要到设备上的accsee库中搞个查询……。
我采取的是编好SQL查询语句,然后绑定表格控件方法。但琢磨了好久也未能搞成真是烦死了。能否请您费心从我的想法方向帮帮琢磨解决?我将不胜感谢!诸如:
sqla= "select bh,zl from aaa where zl='" & "a" & "'"
sqlb = "select bh,zl from aaa where zl='" & "b" & "'"
sqlc = "select bh,zl from aaa where zl='" & "c" & "'"
sqld = "select bh,zl from aaa where zl='" & "d" & "'"
sql……
rs_bf=new oledb.oledbdtaadapter(sql,conn)
rs_bf.fill(bf,"aaa")
datagridview1.datasource=bf.tables("aaa")
再次向你表示感谢!
2015-03-07 10:06
快速回复:SQL查询表竖行变横行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.069437 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved