各位
select A.id ||'-'|| A.name
from tableaa A GROUP BY A.id
union all select A.id ||'-'|| A.name  from tablebb A GROUP BY A.id
ORDER BY A.id
我这里的order by老有问题,如果把A.id ||'-'|| A.name 改成A.id就没问题了..何解?
如何解决这个问题呢,各位达人

解决方案 »

  1.   

    select iname from (select A.id,A.id ||'-'|| A.name as iname from tableaa A GROUP BY A.id
    union all select A.id,A.id ||'-'|| A.name as iname from tablebb A GROUP BY A.id)
    ORDER BY id多套层试下
      

  2.   

    select A.id ||'-'|| A.name
    from tableaa A GROUP BY A.id这句都会报错你加个GROUP BY干什么呀?
      

  3.   

    select A.id||'-'||A.name as id 
    from tableaa A 
    GROUP BY A.id,A.name
    union all 
    select A.id||'-'||A.name as id from tableaa A 
    GROUP BY A.id,A.name
    ORDER BY id
      

  4.   

    SELECT  字段 FROM  TABLENAME GROUP BY 所有出现的字段(集合函数除外)。
      

  5.   

    哦。。那这个order by该如何解决。。回到原题
      

  6.   

    maaw说的这种方法。。是对 A.id排序还是A.name
      

  7.   

    --maaw说的这种方法。。是对 A.id排序还是A.name排序的字段是id和name的连接,id在前面,肯定就是对id的排序
      

  8.   

    楼主想要得是排序吧!
    order by A.id
      

  9.   

    SELECT ID_NAME
    FROM (
        SELECT A.ID || '-' || A.NAME AS ID_NAME,
               A.ID AS AID,
               ROW_NUMBER() OVER (PARTITION BY A.ID ORDER BY A.ID) AS RNUM
        FROM   tableaa A  UNION ALL    SELECT A.ID || '-' || A.NAME AS ID_NAME,A.ID AS AID,
               ROW_NUMBER() OVER (PARTITION BY A.ID ORDER BY A.ID) AS RNUM
        FROM   tablebb A
         ) B
    WHERE B.RNUM = 1
    ORDER BY B.AID;没必要用 GROUP BY