如何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
例如
表一 表二
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
很容易实现的!
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;
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;
这样写可以实现上面的功能吗?