我有一张表,表名是营业部资料
            字段是 营业部名  营业部类标志   营业部类名称
                    AA南京     AA             江苏          
                    AA苏州     AA             江苏
                    AA无锡     AA             江苏
                    AB杭州     AB             浙江
                    BA长春     BA             吉林
                    CA武汉     CA             湖北 
---------------------------------------------------//注意下面的变化关键在
                    AA南京     A              华东    这里。      
                    AA苏州     A              华东
                    AA无锡     A              华东
                    AB杭州     A              华东 
                    BA长春     B              东北
                    CA武汉     C              华中
                      。       。              。
                      。       。              。
                      。       。              。
    相信大家都看明白了这张表的意思了吧,就是江苏和浙江属于华东区,长春属于东北区,武汉属于华中区。他们的归属是看第一个字母(AA、AB看A、BA看B、CA看C)。
    现在有个问题“营业部名”中的出现了重复,有什么SQL语句能够去掉重复的营业部名。形式变成营业部名  营业部类标志   营业部类名称
             AA南京     AA             江苏          
             AA苏州     AA             江苏
             AA无锡     AA             江苏
             AB杭州     AB             浙江
             BA长春     BA             吉林
             CA武汉     CA             湖北
                。       。              。
                。       。              。
                。       。              。

解决方案 »

  1.   

    to goldwolf(小陈哥)
    我就是想把
                 AA南京     AA             江苏          
                 AA苏州     AA             江苏
                 AA无锡     AA             江苏
                 AB杭州     AB             浙江
                 BA长春     BA             吉林
                 CA武汉     CA             湖北
                    。       。              。
                    。       。              。
                    。       。              。
    这样的属于营业部类的数据取出来,而不要那些华东、华中(这里我称为营业部大类)的数据取出来。
      

  2.   

    select * from 表 where 营业部名称 in ('江苏','浙江','吉林','湖北');
      

  3.   

    select * from 表 where 营业部名称 in ('江苏','浙江','吉林','湖北');
    ----------------------------------------------------------------------
    这个方法的确可行,但是'江苏','浙江','吉林','湖北'只是我举的例子而已实际上表里远不止这几个,而且以后可能会增加,比如说又增加了“广州”,难道我再改程序?
    另外忘记说了还有直辖市,
                  S上海  S  上海
      

  4.   

    select distinct 营业部名称,营业部类标志,营业部类名称 from 表
      

  5.   

    营业部名  营业部类标志   营业部类名称
                        AA南京     AA             江苏          
                        AA苏州     AA             江苏
                        AA无锡     AA             江苏
                        AB杭州     AB             浙江
                        BA长春     BA             吉林
                        CA武汉     CA             湖北 
    ---------------------------------------------------//注意下面的变化关键在
                        AA南京     A              华东    这里。      
                        AA苏州     A              华东
                        AA无锡     A              华东
                        AB杭州     A              华东 
                        BA长春     B              东北
                        CA武汉     C              华中这样的结构,每个营业部名都会出现两次, 华东这些地区也有重复的数据比如说改成这样
                       营业部名  营业部类标志   营业部类名称   地区编码
                        AA南京     AA             江苏           A
                        AA苏州     AA             江苏      A
                        AA无锡     AA             江苏      A  
                        AB杭州     AB             浙江      A
                        BA长春     BA             吉林      B
                        CA武汉     CA             湖北            C                      地区编码         地区名称                         A              华东 
                             B              东北
                             C              华中这样冗余会少很多
      

  6.   

    或者
    SELECT 营业部名称,营业部类标志,营业部类名称
    FROM 表
    WHERE (LEN(营业部类标志) = 2)
      

  7.   

    myling(阿德) 兄
    我也想啊,但是表结构不是我设计的是上面给下来的,无法修改啊。
    yuhouyangguang(雨后阳光)
    你的方法不行,运行后的结果是
                       营业部名  营业部类标志   营业部类名称
                        AA南京     AA             江苏          
                        AA南京     A              华东
                        AA苏州     AA             江苏
                        AA苏州     A              华东
                        AA无锡     AA             江苏
                        AA无锡     A              华东
                        AB杭州     AB             浙江
                        AB杭州     A              华东
                        BA长春     BA             吉林
                        BA长春     B              东北
                        CA武汉     CA             湖北 
                        CA武汉     C              华中        
                        
                        
                         
                        
                        
      

  8.   

    或者
    SELECT 营业部名称,营业部类标志,营业部类名称
    FROM 表
    WHERE (LEN(营业部类标志) = 2)
      

  9.   

    yuhouyangguang(雨后阳光)
    SELECT 营业部名称,营业部类标志,营业部类名称
    FROM 表
    WHERE (LEN(营业部类标志) = 2)
    ---------------------------------- 
    如我所说,这样运行后直辖市就无法显示了
                S上海  S  上海
      

  10.   

    SELECT 营业部名称,营业部类标志,营业部类名称
    FROM 表
    WHERE (LEN(营业部类标志) = 2) OR
          (营业部类标志 IN ('S', ……))全国才几个直辖市,把他们的营业部类标志都放在IN ()的括号里。