假设有一些学生的学号包含了班级如:
01403238
01403239
01403226
01405101
01405102
这里的前6位代表班级
如果数据库里还有很多班级而我只想在combobox     的下拉菜单中显示班级的名称怎么办?
                                       014032
                                       014051

解决方案 »

  1.   

    select 班级名称 from 学生表 a inner join 班级表 b on Left(a.学号,6) = b.班级号
      

  2.   

    with Query do
      begin
        Close;
        SQL.Text:='select Left(班级名称 , 6) from 班级表 ;
        Open;
        Combox.Items.Clear;
        while not Eof do
        begin
          if Combox.Items.IndexOf(Fields[0].AsString) = -1 then
            Combox.Items.Add(Fields[0].AsString);
          Next;
        end;
      end;
      

  3.   

    这样的话combobox的下拉菜单好长啊,根本没办法选择,我只想取其中一条记录,让它不重复可一选择不同的班级!
      

  4.   

    'select distinct Left(班级名称 , 6) from 班级表
      

  5.   

    with Query do
      begin
        Close;
        SQL.Text:='select distinct Left(班级名称 , 6) from 班级表 ;
        Open;
        Combox.Items.Clear;
        while not Eof do
        begin
          if Combox.Items.IndexOf(Fields[0].AsString) = -1 then
            Combox.Items.Add(Fields[0].AsString);
          Next;
        end;
      end;
      

  6.   

    二楼说的很对,用SQL的左连接.就可以.找一本SQL SERVER的书上就有