select distinct fld1 from table1

解决方案 »

  1.   

    最好在取记录时把相同的取了
    select name from table group by name如果取不了,
    只能自己作循环了。
    combobox1.items.clear;
    query1.first;
    while not query1.eof do
    begin
      if combobox1.items.indexof(query1.fieldbyname('name').asstring)<>-1 then  combobox1.items.add(query1.fieldbyname('name').asstring);
      query1.next;
    end;
      

  2.   

    select distinct fldl from
    ( 已取出的数据集 ) aa
      

  3.   

    补充:
       netlib(河外孤星):你的这个循环可行吗?
        falaly(风雨):在取出的数据集中能用SQL语句吗???
      

  4.   

    同意falaly(风雨)的说法,这是一个符合查询
     select distinct fldl from (select * from tabl)
      

  5.   

    你得描述清楚你的需求,
    什么叫"在取出的数据集中能用SQL语句吗"
      

  6.   

    补充:
      比如数据己经放在TADoDataset中了
      

  7.   

    procedure TForm19.button1onclick(Sender: TObject);
    var  pre:string;
    begin
      
      with form1.adoquery1 do
      begin
        close;
        active:=false;
        sql.clear;
        sql.add(' select '+' fieldname1 '); //fieldname1用你要的字段名
        sql.add(' from "'+form1.adotable1.TableName+'"' );
        sql.add(' order by '+' fieldname1 ');//fieldname1用你要的字段名
        execsql;
        active:=true;
      first;
      pre:=fields[0].AsString;
      combobox1.Items.Clear;
      while not Eof do
        begin
          next;
          if not (fields[0].AsString =pre) then
            begin
              combobox1.Items.add(fields[0].AsString);
              pre:=fields[0].asstring;
            end;
        end;
      end;
    刚试过,没问题,给分吧
      

  8.   

    1、用你要找的值排序
    2、在查询中做循环,只要不等就添加,否则next!