--正常户
SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
        FROM GLFW_SWDJ,dm_zclx
        where zclx=dm and nsrzt in ('10','20')
--停业户
SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
        FROM GLFW_SWDJ,dm_zclx
        where zclx=dm and nsrzt='30'
--非正常
SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
        FROM GLFW_SWDJ,dm_zclx
        where zclx=dm and nsrzt='40'
--注销户
SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
        FROM GLFW_SWDJ,dm_zclx
        where zclx=dm and nsrzt='50'
--临时纳税人
SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
        FROM GLFW_SWDJ,dm_zclx
        where zclx=dm and nsrzt='70'
--税务机构 
SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
        FROM GLFW_SWDJ,dm_zclx
        where zclx=dm and nsrzt='81'
--特殊纳税人
SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
        FROM GLFW_SWDJ,dm_zclx
        where zclx=dm and nsrzt='99'我想将以上语句整合成一个sql

解决方案 »

  1.   

    SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
            FROM GLFW_SWDJ,dm_zclx 
            where zclx=dm and nsrzt in ('10','20') 
    --停业户 
    union all SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
            FROM GLFW_SWDJ,dm_zclx 
            where zclx=dm and nsrzt='30' 
    --非正常 
    union all SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
            FROM GLFW_SWDJ,dm_zclx 
            where zclx=dm and nsrzt='40' 
    --注销户 
    union all SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
            FROM GLFW_SWDJ,dm_zclx 
            where zclx=dm and nsrzt='50' 
    --临时纳税人 
    union all SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
            FROM GLFW_SWDJ,dm_zclx 
            where zclx=dm and nsrzt='70' 
    --税务机构 
    union all SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
            FROM GLFW_SWDJ,dm_zclx 
            where zclx=dm and nsrzt='81' 
    --特殊纳税人 
    union all SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
            FROM GLFW_SWDJ,dm_zclx 
            where zclx=dm and nsrzt='99' 
      

  2.   


    declare @str varchar(4000)
    set @str='''10'',''20'''--正常户 
    exec('SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
            FROM GLFW_SWDJ,dm_zclx 
            where zclx=dm and nsrzt in ('+@str) 
      

  3.   


    --除了nsrzt的值不一样,其他都一样。全部都改成in 咯,或者将10、20、30等等这些值放在一个表中,
    比如A表的num字段,在和其他进行多表连接:SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
            FROM GLFW_SWDJ,dm_zclx ,A 
            where zclx=dm and  nsrzt=a.num
      

  4.   


    SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY 
    ,'类型'=case when (nsrzt ='10' or nsrzt ='20')  then '正常户'   
    when nsrzt ='30'  then '停业户'
    ....
    ....
            FROM GLFW_SWDJ,dm_zclx 
            where zclx=dm and nsrzt in ('10','20') 如此类推!
      

  5.   

    SELECT  名称=case when nsrzt='99'  then '特殊纳税人 ' 
                      when nsrzt='81'  then '税务机构 '
                      when nsrzt='70'  then '临时纳税人 ' end,SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY    
            FROM GLFW_SWDJ,dm_zclx 
            where zclx=dm其它自己写吧
      

  6.   

    SELECT  SBH ,MC ,swdjzzh,FDDBR ,ZCDZ ,BSRYLXDH ,HY 
    ,'类型'=case when (nsrzt ='10' or nsrzt ='20')  then '正常户'   
    when nsrzt ='30'  then '停业户'
    when nsrzt ='40'  then '非正常'
    when nsrzt ='50'  then '注销户'
    when nsrzt ='70'  then '临时纳税'
    when nsrzt ='81'  then '税务机构'
    when nsrzt ='99'  then '特殊纳税人'
            FROM GLFW_SWDJ,dm_zclx 
            where zclx=dm