客户信息表Customer_Info
CustomerID
CustomerType (05联保小组,04农户,联保小组由若干农户组成)借据表Business_DueBill
SerialNo  借据号(账号)
CustomerID
Balance 余额客户关联表Customer_Relative
CustomerID
RelativeID (关联客户ID)
RelationShip(5501所属小组--RelativeID 为小组、CustomerID为小组成员,
             0501小组成员--CustomerID为小组、RelativeID为小组成员)现在要写一个SQL,找出已结清的联保小组(即小组内成员名下的借据的Balance为0)

解决方案 »

  1.   

    RelationShip(5501所属小组--RelativeID为小组、CustomerID为小组成员,
                 0501小组成员--CustomerID为小组、RelativeID为小组成员)
    这个字段有必要吗?
      

  2.   

    客户关联表Customer_Relative
    一个1-N关系建表为什么要建成这样?
    设计大概是有问题吧
      

  3.   

    这是公司的系统,想这个SQL想了老半天了,也不知道怎么写客户信息表中的“客户”包括“联保小组”和“小组成员”
    在客户关联表中,体现客户与客户之间的关系以下是客户关联表的数据
    20070603000001 20070601000003 0501 宗秀芝
    20070621000001 20070621000002 0501 李志新
    20070622000001 20070626000001 0501 王五
    20070622000001 20070618000003 0501 严桂岩
    20070622000005 20070626000003 0501 李四
    20070622000002 20070622000004 0501 李志新
    20070622000002 20070622000003 0501 于洁
    20070622000005 20070626000002 0501 张三
    20070622000001 20070621000003 0501 杨车二
    20070621000001 20070621000003 0501 杨车二
    20070601000003 20070603000001 5501 YX0001
    20070622000004 20070622000002 5501 YX0004
    20070622000003 20070622000002 5501 YX0004
    20070621000002 20070621000001 5501 YXYX0002
    20070626000001 20070622000001 5501 YX0003
    20070618000003 20070622000001 5501 YX0003
    20070626000003 20070622000005 5501 YX0005
    20070626000002 20070622000005 5501 YX0005
    20070621000003 20070622000001 5501 YX0003
    20070621000003 20070621000001 5501 YXYX0002
      

  4.   

    select RelativeID from scott.Customer_Relative where RelationShip=5501 group by RelativeID having exists(select CustomerID from scott.Business_DueBill where CustomerID in(
    Select CustomerID from scott.customer_info where CustomerType=5) group by CustomerID having sum(Balance)=0)还有RelationShip的另一种情况,应该union起来.
      

  5.   

    上面的exists有错,应该满足条件的分组里面的每个CustomerID都应满足的条件