如何只用sql select 语句实现下面功能 (40分)

  • 主题发起人 主题发起人 mlc67
  • 开始时间 开始时间
M

mlc67

Unregistered / Unconfirmed
GUEST, unregistred user!
有两个表tb1,tb2
tb1中有关键字段a,tb2中也有a,tb1中的一条a对应于tb2中的多条记录,
我现在想得到以下一个结果:tb1中的一条记录,但把tb2中对应的多条记录合成一条成为一个数据集。

也就是说有这样一张表:tb3,字段为a和b
a b
001 aaa
001 bbb
001 ccc
002 2aa
002 2bb
002 2cc
003 3aa
003 3bb
------
生成这样的数据集
字段1 字段2
001 aaabbbccc
002 2aa2bb2cc
003 3aa3bb

 
存储过程中间做。
就很简单
 
biggo说得对,用游标处理。
 
我的现点是:这只能是你数据结构定义的有问题,你建立的库表结构的不合理性会导致
你后期的编程工作很复杂。用存储过程可以实现你的要求,但肯定要用到多个子查询才行
。这样的结构实现了,在数据量大的时候会影响到你程序速度的,我最失败的查询用了四
分钟才实现,根本不能接受。
一个编程技术员与项目管理员的区别就在这些方面,好的项目管理人员做出的项目结构让
编程员轻松实现,而坏的项目管理则让人实现了也是痛苦的。
一家之言,反对者请举左手,呵
 
对于这个问题,我是在安装了程序员大本营后看到的此问题,其实,我也知道用存储过程处理
起来是可以的。我也想到了dingyuan说的情况。但我想通过把中间结果集当成新的表(相当于临时表或视图)
能不能处理?请各位高手大虾执教?
 
不用存储过程,视图是做不到的。
 
直接用sql不可能吧,
建议你加一个字段来做这个工作,
当增加,修改,或删除时维护该字段
 
我现在想也只能用游标和存储过程来做,暂时还没有什么好方法
 
多人接受答案了。
 
后退
顶部