这个怎么算

auqfiudh 2009-08-21 01:41:50
表1 {ID_name (Key 用户名称),ID_Money(总金额),ID_date (日期),ID_caption( 说明 )}
表2 {ID_Key(自动编号),ID_name(用户名称),Money1 (单笔金额) ,_Boolean(有/无 效) }

相关联的是 ID_name , 表1的 ID_money = (表2 的 Money1 的值(1 到 N 的和 ))
我想得到的是 表1 一条数据 对应 表2 里面的 1条 到 N条. 条件是 Sum(表2.Money1)=表1.ID_Money ---[也不知道怎么表达,这样可能清楚点吧]

用Delphi 怎么做.
那么这个怎么算?
给个方法或者突破口吧 . 谢谢了 大家
...全文
182 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
弘石 2009-08-24
  • 打赏
  • 举报
回复
楼主给分的方法莫名其妙
dinoalex 2009-08-22
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 auqfiudh 的回复:]
就是要知道怎么算 几个 张三的 表2.Money1 的和 = 当前 张三 这一条 表1.ID_Money  的值
[/Quote]

这个可能要通过存储过程并建临时表来完成,算法的话,你还是到MSSQL区问吧.
snwgija 2009-08-22
  • 打赏
  • 举报
回复
看不懂楼主在说的啥```
zaytsing 2009-08-22
  • 打赏
  • 举报
回复
意思都没说明白。。都不知道你在说什么。
haitao 2009-08-22
  • 打赏
  • 举报
回复
这个是典型的主从表

怎么算是什么意思?“计算”?计算什么?
弘石 2009-08-21
  • 打赏
  • 举报
回复
表这样设计有问题
表一的一条记录对应表二的多条记录,是不应该用金额来对应的,不但需要计算,而且还有可能重复
表一应该应该增加一个id,作为表二的外键
auqfiudh 2009-08-21
  • 打赏
  • 举报
回复
就是要知道怎么算 几个 张三的 表2.Money1 的和 = 当前 张三 这一条 表1.ID_Money 的值
ck_邬 2009-08-21
  • 打赏
  • 举报
回复
select *,(select sum(Money1) from 表2 where 表1.ID_Name=表2.ID_Name) as SumMoney from 表1
auqfiudh 2009-08-21
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 dinoalex 的回复:]
引用 11 楼 auqfiudh 的回复:
再次举例
表1
    张三,356,2009-5-5,说明:....;
    李四,555,2009-6-5,说明:....;
    张三,800,2009-7-5,说明:....;
    .....
表2      (1:有效,0:无效)
    1,张三,200,1 ;
    2,张三,150,1;
    3,李四,400,1;
    4,张三,60 ,1;
    5,李四,155,1;
    6,张三,6  ,1;
    7,张三,300,1;
    .....

比如: 我在Delphi 里 DBGrid1 里选中 张三 .那么另个DbGrid2 里显示 1,2,6 ; 三项 也有可能 (6 ,N,N)
                              选中 李四    ......          显示 3,5 ;  三项  也有可能(N,N )


你不是指1.2.6是结果,假如6.7.8也是结果的话,也要显??
[/Quote] 不需要 当我把 1.2.6置成 无效 那么我再点 这时才会出来 6.7.8
dinoalex 2009-08-21
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 auqfiudh 的回复:]
再次举例
表1
    张三,356,2009-5-5,说明:....;
    李四,555,2009-6-5,说明:....;
    张三,800,2009-7-5,说明:....;
    .....
表2      (1:有效,0:无效)
    1,张三,200,1 ;
    2,张三,150,1;
    3,李四,400,1;
    4,张三,60 ,1;
    5,李四,155,1;
    6,张三,6  ,1;
    7,张三,300,1;
    .....

比如: 我在Delphi 里 DBGrid1 里选中 张三 .那么另个DbGrid2 里显示 1,2,6 ; 三项 也有可能 (6 ,N,N)
                              选中 李四    ......          显示 3,5 ;  三项  也有可能(N,N )
[/Quote]

你不是指1.2.6是结果,假如6.7.8也是结果的话,也要显??
bdmh 2009-08-21
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 auqfiudh 的回复:]
关键是我怎么去算. 
[/Quote]
这就是这个问题吗,表二是从表,去对应表一(主表)的一个字段,然后加上日期判断,如果不判断就是选择所有日期的
做一个主从表
或者
select * from 表2 where 表2.ID_NAME = '这里是你所选取的表一的ID_Name的值'
auqfiudh 2009-08-21
  • 打赏
  • 举报
回复
关键是我怎么去算.
auqfiudh 2009-08-21
  • 打赏
  • 举报
回复
再次举例
表1
张三,356,2009-5-5,说明:....;
李四,555,2009-6-5,说明:....;
张三,800,2009-7-5,说明:....;
.....
表2 (1:有效,0:无效)
1,张三,200,1 ;
2,张三,150,1;
3,李四,400,1;
4,张三,60 ,1;
5,李四,155,1;
6,张三,6 ,1;
7,张三,300,1;
.....

比如: 我在Delphi 里 DBGrid1 里选中 张三 .那么另个DbGrid2 里显示 1,2,6 ; 三项 也有可能 (6 ,N,N)
选中 李四 ...... 显示 3,5 ; 三项 也有可能(N,N )
dinoalex 2009-08-21
  • 打赏
  • 举报
回复
直接在DBGRID1的CELLCLICK事件里写代码
auqfiudh 2009-08-21
  • 打赏
  • 举报
回复
对了 问题好像的点描述的不怎么对.
表1 {自动编号,ID_name (用户名称),ID_Money(总金额),ID_date (日期),ID_caption( 说明 )}

ID_Name 是 可以无限重复 同时 ID_money 也可能重复 但日期 是不可能重复
好像一个<百钱百鸡>的类似吧 ,也说不准 不好意思 想法有点打结了
dinoalex 2009-08-21
  • 打赏
  • 举报
回复
晕,好简单吖,两个ADOQUERY两个DBGRID就行了
bdmh 2009-08-21
  • 打赏
  • 举报
回复
看你的意思,不就是选出表一所对应的表二中的记录吗,和金额无关呀,只要name对应上就行了,因为你表一的金额就是表二同名记录金额的和吗

select * from 表2 inner join 表1 on 表2.ID_NAME = 表1.ID_NAME
auqfiudh 2009-08-21
  • 打赏
  • 举报
回复
表1 {ID_name (Key 用户名称),ID_Money(总金额),ID_date (日期),ID_caption( 说明 )}
表2 {ID_Key(自动编号),ID_name(用户名称),Money1 (单笔金额) ,_Boolean(有/无 效) }

表1
张三,356,2009-5-5,说明:....;
李四,555,2009-6-5,说明:....;
.....
表2 (1:有效,0:无效)
1,张三,200,1 ;
2,张三,150,1;
3,李四,400,1;
4,张三,6 ,1;
5,李四,155,1;

.....

比如: 我在Delphi 里 DBGrid1 里选中 张三 .那么另个DbGrid2 里显示 1,2,4 ; 三项
选中 李四 ...... 显示 3,5 ; 三项
starluck 2009-08-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 auqfiudh 的回复:]
表1  {ID_name (Key 用户名称),ID_Money(总金额),ID_date (日期),ID_caption( 说明 )}
表2  {ID_Key(自动编号),ID_name(用户名称),Money1 (单笔金额) ,_Boolean(有/无 效) }

相关联的是 ID_name , 表1的 ID_money = (表2 的 Money1 的值(1 到 N 的和 ))
我想得到的是 表1 一条数据 对应 表2 里面的 1条 到 N条. 条件是 Sum(表2.Money1)=表1.ID_Money ---[也不知道怎么表达,这样可能清楚点吧]

用Delphi  怎么做.
那么这个怎么算?
给个方法或者突破口吧 . 谢谢了 大家
[/Quote]

你表2下面的 sum(money1) 是不是等於 表1中相同名稱下的 ID_Money ???
dinoalex 2009-08-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 auqfiudh 的回复:]
那 怎么整合表2 的那几项
[/Quote]

你还是列些数据出来吧,如

表1
123 123 123..
234 234 234
表2
321 ...

结果
321 314 43.. 这样列
加载更多回复(3)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧