表名:user  ID   Name
  8     张
  8     李如何写SQL可以实现 ID   Name1   Name2
 8     张      李

解决方案 »

  1.   

    select 
      user1.ID,
      user1.NAME,
      user2.NAME
    form user user1, user user2
    where 
          user1.ID = user2.ID
      AND user1.NAME != user2.NAME不知道好用不?试试
      

  2.   

    行转列的问题,参考以下帖子:http://community.csdn.net/Expert/topic/4959/4959619.xml?temp=.446377
      

  3.   

    haru(王東) select 
      user1.ID,
      user1.NAME,
      user2.NAME
    form user user1, user user2
    where 
          user1.ID = user2.ID
      AND user1.NAME != user2.NAME应该是正确的。
    如果要求显示也一样就:SELECT 
      a.ID AS 'ID',
      a.NAME AS 'Name1',
      b.NAME AS 'Name2'
    FORM user a, user b
    WHERE 
          b.ID = a.ID
      AND b.NAME != a.NAME
      

  4.   

    C1 C2
    ---------- ----------
             1 我
             1 是
             1 谁
             2 知
             2 道
             3 不CREATE OR REPLACE FUNCTION get_c2(tmp_c1 NUMBER)  
    RETURN VARCHAR2  
    IS  
    Col_c2 VARCHAR2(4000);  
    BEGIN 
    FOR cur IN (SELECT c2 FROM t WHERE c1=tmp_c1) LOOP   
    Col_c2 := Col_c2||cur.c2;  
    END LOOP;  
    Col_c2 := rtrim(Col_c2,1); 
    RETURN Col_c2;  
    END; 

    转换后:
             C1 C2
    ---------- ----------
             1 我是谁
             2 知道
             3 不
      

  5.   

    或者
    select a.id, a.name name1, b.name name2
      from user a, user b
     where a.name != b.name
     group by id