高分求救,在线急等~!
////////////////////主表
ID 客户名称 客户住址
01 张三 内蒙古
02 李四 北京
/////////////////从表
ID 电话类型 电话号码
01 手机 13552949205
01 办公室电话 0837957
我现在想让一个DBGrid里这样显示,请问如何实现,高分求救。
客户名称 联系电话
张三 13552949205/0837957
问题点数:0、回复次数:4Top
1 楼coffee36(咖啡)回复于 2005-04-02 10:23:01 得分 0
dbgrid1.datasource:=datasource1;
datasource1.dataset:=adoquery1;
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select a.客户名称,b.电话号码 from 主表 a innor join 从表 b on a.id=b.id');
adoquery1.open;
Top
2 楼coffee36(咖啡)回复于 2005-04-02 10:24:51 得分 0
不好意思,看错了。不知道怎么做。
帮顶。Top
3 楼mengyun5005(梦云)回复于 2005-04-02 11:18:09 得分 0
写这样一个函数,
create function (@ID varchar(5)) returns @T table
(id varchar(5),
tel varchar(255)
)
as
begin
declare @temp varchar(255),@str varchar(255)
set @temp=''
set @str=''
declare Cur1 cursor for select 从表.电话号码 from p_odrm where isnull(主表.id,'')=@id
open Cur1
fetch from Cur1 into @temp
while @@fetch_status=0
begin
set @str=@str+@temp+'/'
fetch from Cur1 into @temp
end
select @id,@str into @t
close Cur1
deallocate Cur1
end
用它去合并电话号码Top
4 楼yeeyee(我要换工作!)回复于 2005-04-02 19:24:35 得分 0
////////////////////主表
ID 客户名称 客户住址
01 张三 内蒙古
02 李四 北京
/////////////////从表
ID 电话类型 电话号码
01 手机 13552949205
01 办公室电话 0837957
Select A.ID A.客户名称 A.客户住址, B电话类型,B.电话号码 From Table1 As A
inner join Table2 As B
on A.ID=B.ID
然后建立一个计算字段
DataSet.FieldByName('计算字段').AsString:=DataSet.FieldByName('B.手机段').AsString+'/'+DataSet.FieldByName('B.').AsStringTop




