首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 请教问题?
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lizh0103
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-21 21:13:25 楼主
    现在需求要实现下面的效果


    单号 日期  货号    销售数量 单价  金额    已收货款  结余款
          4 13  B805  160    90    14400  30000    15600
          4 13  B111  60    85    5100  60000    70500
        4 13  B813  129    72      9288  10000    71212
               

    我现在的数据库是这样设计的

    销售主表  (单号  日期  客户名称 )
    销售明细表 (货号 数量  单价 金额)
    预付款表 (客户名称 日期 金额)

    不是如何实现上面的显示效果,我想绑定到gridview 上,还是我的数据库设计有问题??请高手帮忙
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • LQknife
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 21:15:471楼 得分:0
    数据库盲 帮你顶
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lizh0103
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 21:45:572楼 得分:0
    自己顶
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhulei2008
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 22:09:433楼 得分:0
    销售主表  (单号  日期  客户名称 )
    销售明细表 (货号 数量  单价 金额)

    这两张表应该有主外键关系,一对多的关系吧

    好像两张表就可以了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • pcb_ghl
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 22:27:164楼 得分:0
    你的明细应该和其他的表有个关联吧?
    明细表中加一列单号,销售主表中的单号和明细表中的单号关联
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lizh0103
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 23:21:315楼 得分:0
    哦这个是笔误,明细中有单号的,我这样设计 弄不出那样的效果啊,sql 如何写,或者其他方式实现

    销售主表  (单号  日期  客户名称 )
    销售明细表 (单号,货号 数量  单价 金额)
    预付款表 (客户名称 日期 金额)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • pcb_ghl
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 08:44:196楼 得分:0
    预付款表中加一列货号,和明细表中的货号关联.这样应该就可以了吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lizh0103
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 08:58:307楼 得分:0
    这样 不行的,预付款怎么可以有货号
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • guying999
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 08:59:388楼 得分:0
    比较乱~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • anncesky
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 09:03:329楼 得分:0
    销售主表  (单号  日期  客户名称 ) A
    销售明细表 (单号,货号 数量  单价 金额)B
    预付款表 (客户名称 日期 金额)C
    ===========
    预付款表 应该也有单号才对
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • f800051235
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 09:04:0510楼 得分:0
    直接把数据库绑定,然后把几个表中你需要的字段绑定到gridview
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wenmingcool
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 09:06:2211楼 得分:0
    我觉得你是把多个表的内容一起显示
    先把多个表的内容存在ArrayList里
    再把ArrayList当作DataSource配置给GridView
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hy_lihuan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 09:07:2112楼 得分:0
    sql可以写,个人水平不高,就不写了;
    还是程序来实现吧,单号 日期  货号    销售数量 单价,这些字段前两张表关联就可以了;
    金额 =销售数量*单价,直接程序内计算好了;
    已收货款 这个需要了解是不是多笔的,不是的话关联三张表就解决了,多笔的话就需要统计了;
    结余款=已收货款-金额,也程序直接计算;

    难点:已收货款如果你无法sql完成的话,就在程序里面实现好了;
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangjun8868
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 09:34:3413楼 得分:0
    数据啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wanglie10
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 09:49:3814楼 得分:0
    明显的数据库有问题:
    如下:
    销售主表 A (单号  日期  客户名称 )
    销售明细表 B (货号 单号(FK) 数量  单价 金额)
    预付款表 C (货号(FK) 日期 金额)

    select 单号 日期  货号    sum(销售数量) max(单价)  sum(销售数量) * max(单价) as 金额    已收货款  结余款 from B, A, C where B.单号=A.单号 and B.货号=C.货号 group by 单号 日期 货号
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lizh0103
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 10:02:2415楼 得分:0
    引用 14 楼 wanglie10 的回复:
    明显的数据库有问题:
    如下:
    销售主表 A (单号  日期  客户名称 )
    销售明细表 B (货号 单号(FK) 数量  单价 金额)
    预付款表 C (货号(FK) 日期 金额)

    select 单号 日期  货号    sum(销售数量) max(单价)  sum(销售数量) * max(单价) as 金额    已收货款  结余款 from B, A, C where B.单号=A.单号 and B.货号=C.货号 group by 单号 日期 货号

    你这个数据库设计是有问题的,预付款 怎么会和货号有关,只和客户 有关的啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lizh0103
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 10:06:1916楼 得分:0
    引用 12 楼 hy_lihuan 的回复:
    sql可以写,个人水平不高,就不写了;
    还是程序来实现吧,单号 日期  货号    销售数量 单价,这些字段前两张表关联就可以了;
    金额 =销售数量*单价,直接程序内计算好了;
    已收货款 这个需要了解是不是多笔的,不是的话关联三张表就解决了,多笔的话就需要统计了;
    结余款=已收货款-金额,也程序直接计算;

    难点:已收货款如果你无法sql完成的话,就在程序里面实现好了;


    现在的难点是在算 结余款 的时候 如何把上面已经存在的结余款加进来,不知道我有没说明白??
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lizh0103
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 10:33:2217楼 得分:0
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xuexiziji
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 10:42:4318楼 得分:0
    帮你顶,数据库再加一个表,可行吗
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lizh0103
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 10:44:1019楼 得分:0
    加什么表啊?? 这个问题 应该做过企业管理系统都有碰到的啊,高手帮忙啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • freeflying1222
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 10:54:0220楼 得分:0
    表设计的问题
    预付款表应该也要指明货号吧!不然一个客户有多个货品怎么办?
    感觉比较乱
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xuexiziji
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 10:59:5621楼 得分:0
    客户  货号
    加这样一个表,怎么样
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hy_lihuan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 11:00:5722楼 得分:0
    引用 16 楼 lizh0103 的回复:
    现在的难点是在算 结余款 的时候 如何把上面已经存在的结余款加进来,不知道我有没说明白??

    明白了,哈哈,要看具体的数据结构了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lizh0103
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 11:23:5423楼 得分:0
    你们说的加货号显然行不通,当添加 预付款的时候,难道还要对应哪个货号吗 ??

    我就是想根据这几张表,弄一个流水张的样子
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lizh0103
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 11:25:0624楼 得分:0
    引用 22 楼 hy_lihuan 的回复:
    引用 16 楼 lizh0103 的回复:
    现在的难点是在算 结余款 的时候 如何把上面已经存在的结余款加进来,不知道我有没说明白??

    明白了,哈哈,要看具体的数据结构了


    我的数据库结构就是这样啊

    销售主表  (单号,日期,客户编号 )
    销售明细表 (单号,货号,数量 ,单价,金额)
    预付款表 (客户编号,日期,金额)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xuexiziji
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 11:58:1825楼 得分:0
    你的 已收款怎么来的,还有 单号和日期一样,怎么对应的 结余款不一样。
    没接触这方面的,帮你定
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lizh0103
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 12:02:2626楼 得分:0
    引用 25 楼 xuexiziji 的回复:
    你的 已收款怎么来的,还有 单号和日期一样,怎么对应的 结余款不一样。
    没接触这方面的,帮你定


    已收款就是 预付款,
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Moosdau
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 12:20:5227楼 得分:0
    你没把关系说清楚, 别人就没办法帮你写SQL 语句 .
    首先: 这三张的主键各是什么?
    第二: 它们是关系是怎么对应的? 也即, 外键各是什么?

    主表对明细应该是一对多, 但是预付款跟销售表怎么对应? 感觉你的预付款表明显缺少一列, 因为目前的三列, 即使全部联合起来, 也很难作为主键, 譬如三列联合主键, 那么客户如果在同一天付了两笔同样金额的款, 你怎么表示? 而且, 一笔预付款, 当然要指明它是买什么东西的, 或者是为某一张单子付的款, 现在只知道某人某天给了1w块钱, 但是这钱是买什么的? 不知道.  这表怎么行?

    假定你给预付款表增加一列单号, 且一个单号只有一笔预付款, 那么SQL 语句就是:
    SELECT
    A.单号,
    A.日期,
    B.货号,
    B.数量,
    B.单价,
    B.金额,
    C.金额 as 已收款,
    C.金额-B.金额 as 结余款
    FROM 销售主表 A
    INNER JOIN 明细表 B ON A.单号=B.单号
    INNER JOIN 预付款表 C ON A.单号=C.单号 AND A.客户编号=C.客户编号

    如果一个单号只有一个客户编号, 那么最后一个AND  条件可以不要.
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved