单位ID  单位名称 姓名
1       研发部   张三
1       研发部   张四
2       市场部   张五   
1       研发部   张六
4       办公室   张七
2       市场部   张八通过选择得到记录:
1       研发部
2       市场部  
4       办公室

解决方案 »

  1.   

    select 单位ID,单位名称 from 表 group by 单位ID,单位名称
      

  2.   

    select 单位ID,单位名称 from 表 group by 单位ID,单位名称 order by 单位ID
      

  3.   

    select 单位ID,单位名称 from 表 where 单位名称 is not null  group by 单位ID,单位名称 order by 单位ID
      

  4.   

    strsql:='select distinct 单位ID,单位名称 from 表 where 单位名称<>'''
    这样写有什么问题?
    BLGBARNID是字符串类型,不为空的时候写法为
    单位名称 is not null 还是 单位名称<>''
      

  5.   

    select 单位ID,单位名称 from 表 where (单位名称 is not null or 单位名称='') group by 单位ID,单位名称 order by 单位ID
    null和''是不一样的判断null不能使用''来判断
      

  6.   

    Null是什么也没有,不知道,也不占空间,但是''是一个空字符串,占空间的。
    条件的写法 判断是否为空:field is not null / field is null
               判断是否为空字符串: field =''
      

  7.   

    SQL> select distinct id,depart
      2  from company
      3  where depart!=' '
      4  group by id,depart
      5  order by id;ID         DEPART
    ---------- --------------------
    1          研发部
    2          市场部
    4          办公室
      

  8.   

    其中插最后一条的语句是
    SQL> insert into company
      2  values('5',' ','张九');