ADODataSet1.CommandText := 'select ''合同编号''=t1.ht_id,''客户名称''=max(t1.kh_khmc),''应收金额''=max(t1.ht_je), ''已收款合计''=sum(t2.skdmx_skje) from s_ht t1,s_skdmx t2 where t1.ht_id =t2.ht_id group by t1.ht_id'
上面的语句出来这样的DBGrid表:
合同编号(t1)客户名称(t1) 应收款(t1) 已收款(t2里几个记录相加)
001 上海 100(万) 30(万)
但我还想再显示一个“未收合计”的字段,所以加上下面注释的语句:ADODataSet1.CommandText := 'select ''合同编号''=t1.ht_id,''客户名称''=max(t1.kh_khmc),''应收金额''=max(t1.ht_je), ''已收款合计''=sum(t2.skdmx_skje),
''未收合计''=max(t1.ht_je-sum(t2.skdmx_skje)) <------我就是加了这句
from s_ht t1,s_skdmx t2 where t1.ht_id =t2.ht_id group by t1.ht_id'
s_ht.ht_id';
加了这句后想让表成为:
合同编号 客户名称 应收款 已收款 未收合计
001 上海 100(万) 30(万) 70(万)但是这样不行,不能把“70(万)”这个字段给显示和计算出来,懂SQL的说说该怎么加?
上面的语句出来这样的DBGrid表:
合同编号(t1)客户名称(t1) 应收款(t1) 已收款(t2里几个记录相加)
001 上海 100(万) 30(万)
但我还想再显示一个“未收合计”的字段,所以加上下面注释的语句:ADODataSet1.CommandText := 'select ''合同编号''=t1.ht_id,''客户名称''=max(t1.kh_khmc),''应收金额''=max(t1.ht_je), ''已收款合计''=sum(t2.skdmx_skje),
''未收合计''=max(t1.ht_je-sum(t2.skdmx_skje)) <------我就是加了这句
from s_ht t1,s_skdmx t2 where t1.ht_id =t2.ht_id group by t1.ht_id'
s_ht.ht_id';
加了这句后想让表成为:
合同编号 客户名称 应收款 已收款 未收合计
001 上海 100(万) 30(万) 70(万)但是这样不行,不能把“70(万)”这个字段给显示和计算出来,懂SQL的说说该怎么加?
select 合同编号=t1.ht_id,客户名称=max(t1.kh_khmc),
应收金额=max(t1.ht_je),已收款合计=sum(t2.skdmx_skje)
from s_ht t1,s_skdmx t2
where t1.ht_id =t2.ht_id group by t1.ht_id
命名为view1
然后从view1中得到你要的东西
select 合同编号,客户名称,应收金额,已收款合计,(应收金额-已收款合计)as 未收合计
from view1
至于视图,我刚学习编程,好象还没有用过