有一个表的结构是这样的
    id      bookname             cbs          zz
   001      asp大全           清华大学出版社     田正平
    002      数据库系统教程    高等教育出版社     周奥英
    003      asp大全           清华大学出版社     田正平现在我想做一个查询,要查找出的字段如下
      bookname, cbs, zz按bookname字段过滤记录,但要显示多个字段
查询的结果应为
   bookname        cbs    zz
   asp大全         清华大学出版社     田正平
   数据库系统教程  高等教育出版社     周奥英如何过滤重复的记录
谢谢!**********************************************************
SELECT DISTINCT bookname, cbs, zz FROM TABLE(此方法行不通)
**********************************************************

解决方案 »

  1.   

    说明你字段中可能存在空格,导致认为两条记录不一样。试一下 SELECT DISTINCT TRIM(bookname), TRIM(cbs), TRIM(zz) FROM TABLE
      

  2.   


    select distinct name,sex,banji from t group by name,sex,banji
    group by一下就好了
      

  3.   

    sql server 2000 中没有trim()函数
    去空格用ltrim(rtrim(字段))
      

  4.   

    有一个表的结构是这样的 
        id      bookname             cbs          zz 
       001      asp大全           清华大学出版社     田正平 
        002      数据库系统教程    高等教育出版社     周奥英 
        003      asp大全           清华大学出版社     田正平 现在我想做一个查询,要查找出的字段如下 
          bookname, cbs, zz 按bookname字段过滤记录,但要显示多个字段 
    查询的结果应为 
       bookname        cbs    zz 
       asp大全         清华大学出版社     田正平 
       数据库系统教程  高等教育出版社     周奥英 如何过滤重复的记录 
      

  5.   

    --创建环境
    drop table tt
    create table tt(id int,bookname varchar(20),cbs varchar(20),zz varchar(10))
        insert into tt  select 1,'asp大全','清华大学出版社','田正平'
                 union  select 2,'数据库系统教程','高等教育出版社','周奥英'
                 union  select 3,'asp大全','清华大学出版社','田正平'--初始数据
    select * from tt1 asp大全          清华大学出版社 田正平
    2 数据库系统教程 高等教育出版社 周奥英
    3 asp大全          清华大学出版社 田正平--执行SQL语句
    SELECT DISTINCT bookname, cbs, zz FROM tt
    asp大全          清华大学出版社 田正平
    数据库系统教程 高等教育出版社 周奥英
      

  6.   

    谢谢 阿秋 
    但是你得方法不行 输入你的代码显示
      asp大全             清华大学出版社    田正平
      数据库系统教程      高等教育出版社    周奥英
      asp大全             清华大学出版社    田正平
      

  7.   

    在sql输入你的代码显示 
      asp大全             清华大学出版社    田正平 
      asp大全             清华大学出版社    田正平
      数据库系统教程      高等教育出版社    周奥英 还是达不到我想要的结果 如果单写SELECT DISTINCT bookname 可以过滤掉重复的记录不过只能显示bookname字段的记录
    但是我想过滤掉bookname中重复的记录 同时还要显示cbs, zz记录 
    sql能实现我想要的结果吗
      

  8.   

    应该是有空格吧~~不然DISTINCT 没有这么弱吧~~
      

  9.   

    不会吧?!相同的代码在其他人机子上都正确执行了~~~~
    给出你建表的SQL语句(生成下,贴出来也可以);还有相关的测试数据
      

  10.   

    如果不是有空格,用distinct一定可以,如果不可以你去找比爾該死。
    什麼叫相同記錄,每一字段的所有內容要完全相同。
    你不信用distinct查詢出來後,把你認為還有重復的記錄再比較一下,一定有不同之處。
      

  11.   

    你两行的内容完全一样的!应该是可以的!可能真的是你的某一行里面有空格!!
    SELECT DISTINCT RTRIM(bookname), RTRIM(cbs), RTRIM(zz) FROM TABLE