如何SQLSERVER中的2张表关联起来
例如
表一             表二
A    1           1      234
A    2           2      235
A    3           3      236
B    2           4      237
B    4
C    1
C    3
C    4
我想在选中表一中的A的同时,在LISTBOX1和LISTBOX2中分别显示    1 和  234
                                                            2     235 
                                                            3     236
    在选中表一中的B的同时,在LISTBOX1和LISTBOX2中分别显示 2 和  235
                                                         4     237 

解决方案 »

  1.   

    可以建立主丛表!将表一 设为master 
    很容易实现的!
      

  2.   

    str := 'select a.字段2 as xxx,b.字段2 as yyy from 表1 a,表2 b where a.字段2 = b.字段1 and a.字段1= ''A''';
    with ADOQuery do
    begin
      close;
      sql.clear;
      sql.text := str;
      open;
      while not eof do
      being
        listbox1.items.add(FieldByName('xxx').asstring);
        listbox2.items.add(FieldByName('yyy').asstring);
      end;
    end;
      

  3.   

    procedure Tfqhyfrm.ListBox1DblClick(Sender: TObject);
    var
    g:string;
    t:string;
    begin
      listbox2.Clear;
      listbox4.Clear;
      g:=trim(listbox1.items[listbox1.itemindex]);
      t:='select a.zdmc as zdm,b.ip as dz from mb a,zdip b where a.zdmc = b.zdmc and a.mbmc='+''''+g+'''';
      AdoQuery1.Close;
      AdoQuery1.SQL.CLEAR;
      AdoQuery1.SQL.Add(t);
      AdoQuery1.open;
      adoquery1.first;
    while not adoquery1.eof do
    begin
       listbox2.items.add(adoquery1.FieldByName('zdm').asstring);
       listbox4.items.add(adoquery1.FieldByName('dz').asstring);
       adoquery1.next;
    end;
    end;
    这样写可以实现上面的功能吗?