SELECT t1.id,
       (SELECT t2.name FROM t_table t2 WHERE t2.id = t1.superid) supername,
       t1.name
  FROM t_table t1

解决方案 »

  1.   

    select t1.id,t2.name,t1.name from table t1,table t2 where t1.superid=t2.id(+)
      

  2.   

    有图有真相:

    我刚发现,表里有2条一样的数据,如下:id  superid  name
    1     4       aaa
    2     5       bbb
    1     4       aaa
    2     5       bbb
    3             ccc
    4             ddd
    5             eee结果查询结果出来2对数据,如下:
    id    supername        name
    1        ddd           aaa
    2        eee           bbb
    1        ddd           aaa
    2        eee           bbb
    1        ddd           aaa
    2        eee           bbb
    1        ddd           aaa
    2        eee           bbb
    3                      ccc
    4                      ddd
    5                      eee为啥会多了4行,怎么出现如下的结果集:
    id    supername        name
    1        ddd           aaa
    2        eee           bbb
    1        ddd           aaa
    2        eee           bbb
    3                      ccc
    4                      ddd
    5                      eee
      

  3.   

    我刚发现,表里有2条一样的数据,如下:id  superid  name
    1     4       aaa
    2     5       bbb
    1     4       aaa
    2     5       bbb
    3             ccc
    4             ddd
    5             eee结果查询结果出来2对数据,如下:
    id    supername        name
    1        ddd           aaa
    2        eee           bbb
    1        ddd           aaa
    2        eee           bbb
    1        ddd           aaa
    2        eee           bbb
    1        ddd           aaa
    2        eee           bbb
    3                      ccc
    4                      ddd
    5                      eee为啥会多了4行,怎么出现如下的结果集:
    id    supername        name
    1        ddd           aaa
    2        eee           bbb
    1        ddd           aaa
    2        eee           bbb
    3                      ccc
    4                      ddd
    5                      eeeSELECT T1.ID, T2.NAME, T1.NAME
      FROM TEST T1, (SELECT DISTINCT ID FROM TEST) T2
     WHERE T1.SUPERID = T2.ID(+)
      

  4.   

    我刚发现,表里有2条一样的数据,如下:id  superid  name
    1     4       aaa
    2     5       bbb
    1     4       aaa
    2     5       bbb
    3             ccc
    4             ddd
    5             eee结果查询结果出来2对数据,如下:
    id    supername        name
    1        ddd           aaa
    2        eee           bbb
    1        ddd           aaa
    2        eee           bbb
    1        ddd           aaa
    2        eee           bbb
    1        ddd           aaa
    2        eee           bbb
    3                      ccc
    4                      ddd
    5                      eee为啥会多了4行,怎么出现如下的结果集:
    id    supername        name
    1        ddd           aaa
    2        eee           bbb
    1        ddd           aaa
    2        eee           bbb
    3                      ccc
    4                      ddd
    5                      eee更正:
    SELECT T1.ID, T2.NAME, T1.NAME
      FROM TEST T1, (SELECT DISTINCT ID,NAME FROM TEST) T2
     WHERE T1.SUPERID = T2.ID(+)