现在有一个主表 A     里边有2个字段 id  name还有一个附表 B    里边有三个字段  id  a_id  add_date 数据是 A 表里的一条记录会对应  B  里的多个加入时间问题来了,如果用普通的多表查询,得到的数据会是若干条加入时间不同但是其他数据都一样的数据即:
select a.id, a.name, b.add_date from A a, B b where a.id = b.a_id1    tom    2009-4-2
2    tom    2009-4-3
3    tom    2009-4-4
...有没有什么办法可以将数据整合到一条记录里??

解决方案 »

  1.   

    select name,wm_concat(add_date)
    from
    (
    select a.id, a.name, b.add_date 
    from A a, B b 
    where a.id = b.a_id 
    )
    group by name;这样将相同姓名的add_date信息整合到一条记录中
      

  2.   

    请将你的问题描述清楚,什么叫整合到一条里面?
    是不是一个id对应多个时间时
    就显示为
    1 tom 2009-4-2,2009-4-3,2009-4-42 tom 2009-4-2,2009-4-3是这样吗?
      

  3.   

    楼主的查询结果应该是
    1    tom    2009-4-2 
    1    tom    2009-4-3 
    1    tom    2009-4-4 
    ... 
    才对吧
    oracle版本在10g以上的话可以用1楼的方法
      

  4.   

    楼主是这个意思:
    select a.id|| a.name||b.add_date from A a, B b where a.id = b.a_id