一个问题,不知道该如何解决?是不是要用存储过程?(100分)

  • 主题发起人 主题发起人 lyl2002
  • 开始时间 开始时间
L

lyl2002

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个数据库,里面有三张表:
1. stu_les
stu_id less_id score
A001 1 73
A001 2 89
A001 3 87
A002 1 88
A003 2 98
A003 4 76
2. stu_des
stu_id name class_id
A001 张三 A
A002 李四 A
A003 王五 A
3.les_des
less_id less_name
1 语文
2 数学
3 英语
4 物理
5 化学
要形成下面答案,该怎么做
语文 数学 英语 物理 化学
张三 73 89 87
李四 88
王五 98 76
 
我就会使用嵌套循环来查询了,呵呵
 
楼上的嵌套循环怎么用呀?给个sample
 
可以实现不就很好吗?很多时候遇到这样的情况是使用临时表的。
 
这不就是个多表查询吗!
 
各位老大,给点具体的答案吧,小弟能力有限呀,第一次搞这个东西
 
类似
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3542277
中我的回答
 
用个临时表
 
各位大虾,稍微具体点。谢谢啦!我实在有些看不懂
 
用SQL语句(纵向连接)
 
越说越看不懂了,怎么个纵向?
 
关联查询,然后再用devexpress的交叉表格控件吧
 
不好意思,其实我这个是db2数据库,也不是windows,是unix上的
 
这个查询很简单的,建议去看下SQL语言的书,很快就搞定,我也有问题要解决,这里就不回答了。
 
对,临时表就可以的,当然存储过程也可以
 
select a.name,
sum(case c.less_name when '语文' then b.score else 0 end ) as '语文',
sum(case c.less_name when '数学' then b.score else 0 end ) as '数学',
sum(case c.less_name when '英语' then b.score else 0 end ) as '英语',
sum(case c.less_name when '物理' then b.score else 0 end ) as '物理',
sum(case c.less_name when '化学' then b.score else 0 end ) as '化学'
from stu_des a,stu_les b,les_des c where a.stu_id=b.stu_id and b.less_id=c.less_id group by a.name
 
為什麼那么多人說這樣那樣就可以解決,但就是不具體的說明方法,甚至還說什麼很簡單,
沒有那份心就不要說嘛,樓主是找人解決問題而不是聽別人說廢話,為什麼這個論壇不象
別的論壇那么好,就是有些人光說不練, 看人家"fuchang"兄弟,直接把方法寫出來,
這才是樓主想看到的,希望那些所謂的高手們不要太高姿態了,
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
996
import
I
I
回复
0
查看
860
import
I
后退
顶部