tb1
code   name
a          aaaaa1
b          bbbbb1
c          ccccc1
a          aaaaa2
a          aaaaa3
c          cxxxxx1我用语句:select cod,name  from  tb1   where  code in(‘a’,‘a’)
返回的结果
code   nsme   
a          aaaaa1
a          aaaaa2
a          aaaaa3
怎么才能查出这样的结果
code    name
a          aaaaa1
a          aaaaa2
a          aaaaa3
a          aaaaa1
a          aaaaa2
a          aaaaa3急啊,手机上的,求帮助

解决方案 »

  1.   

    不过你这个要求怎么怪怪的?难道写错了?WITH tb1(code ,NAME)
     AS (SELECT 
     'a',  'aaaaa1'
     UNION ALL 
     SELECT 'b', 'bbbbb1'
     UNION ALL 
     SELECT 'c', 'ccccc1'
     UNION ALL 
     SELECT 'a', 'aaaaa2'
     UNION ALL 
     SELECT 'a', 'aaaaa3'
     UNION ALL 
     SELECT 'c', 'cxxxxx1')
     select code,name from tb1 where code IN ('a','a')
     UNION ALL 
     select code,name from tb1 where code IN ('a','a')
     
     /*
     code name
     ---- -------
     a    aaaaa1
     a    aaaaa2
     a    aaaaa3
     a    aaaaa1
     a    aaaaa2
     a    aaaaa3
     
     (6 行受影响)
     
     */
      

  2.   

    select cod,name from tb1 where code in(‘a’)
    union all
    select cod,name from tb1 where code in(‘a’)
    这要求确实有点怪,不过业务需要也正常,哈哈
      

  3.   

    SELECT * FROM #tb,
    (
    SELECT 1 AS a 
    UNION ALL 
    SELECT 2
    ) t
    WHERE [code]='a'
      

  4.   

    使用union all 连接2个查询
    select cod,name from tb1 where code in(‘a’,‘a’)
    union all
    select cod,name from tb1 where code in(‘a’,‘a’)
      

  5.   

    code in里面的数据是查询出来的可能会有很多值,不能写死
      

  6.   

    你要的结果用连接查询union all就能实现。要写动态的话,你有什么规律?