本帖最后由 lxlongnw 于 2010-10-13 17:17:12 编辑

解决方案 »

  1.   

    两个表会有重复数据么?有重复希望去掉么?--没重复或不去掉重复
    --去掉重复就把union all换成union
    select * from ( 
    select * from Task union all select * from Project)
    order by PID,IDS 
      

  2.   

    使项目ID居上,把它对应的TaskID分别放在它的下边形成一组数据
    然后,有是项目ID,下面是它的TaskID
      

  3.   


    是不是Task表的PID与Project表的IDS关联,Task从属于Project
    那Project表的IDS与Project表的PID有什么关系,是不是一个Project也有可能从属于另一个Project
      

  4.   

    Task表的PID与Project表的PID是关联的,Project表的IDS与Project表的PID是一样的,只是为了进行union,对Project表的PID和Task表的TID进行别名为IDS
      

  5.   

    union时,最好是明细到各个字段,要不然随便动了那个表都会有危险的。。
      

  6.   

    单独说union时,与原问题无关
      

  7.   

    这与union无关,我觉得不是单单的union一下就可以了
      

  8.   

    select t.IDS,t.NAMES,t.TIME1,t.TIME2,t.PID from
    (select IDS,NAMES,TIME1,TIME2,PID,2 as order_level  from task
     union all
     select IDS,NAMES,TIME1,TIME2,PID,1 as order_level  from Project
    )t
    order by pid,order_level,ids;
     
      

  9.   

    union 在连接后要排序的,按第一个字段进行升序排列!
    union all 不会排序紧紧通过你上面给的数据和顺序来看
    直接用union all之后再 order by PID,IDS是能够达到你说的效果的或许你给的数据和你实际数据和顺序上存在不一致, 
    这样的话,按10#方法,加个字段,排序应该可以了