tb1:
----------------------
id   zonge
1    100
2    200
3    300tb2:
----------------------
id   Tb1_id   name
1      1      王五
2      1      小四
3      2      大三
4      3      张三
5      3      李四问题:如何得出以下结果
-----------------------
id   tb1_id   name   zonge
1      1      小四      50
2      2      大三      200
3      3      张三      150
4      3      李四      150

解决方案 »

  1.   

    将tb1中的300平均分给tb2中对应的几个
      

  2.   

    问题:如何得出以下结果 
    ----------------------- 
    id       tb1_id       name       zonge 
    1             1             小四             50 
    2             2             大三             200 
    3             3             张三             150 
    4             3             李四             150 ====================================================
    那這個結果是否還少了tb1_id=1的王五的50 ?
      

  3.   


    create table tb1(id int,zonge int)
    insert into tb1 select 1,100
    insert into tb1 select 2,200
    insert into tb1 select 3,300create table tb2(id int,tb1_id int,name varchar(10))
    insert into tb2 select 1,1,'王五'
    insert into tb2 select 2,1,'小四'
    insert into tb2 select 3,2,'大三'
    insert into tb2 select 4,3,'張三'
    insert into tb2 select 5,3,'李四'select  tb2.*, convert(numeric(18,1),1.0*isnull(tb1.zonge,0)/a.num) as zonge
    from tb2 
    left join tb1
    on tb2.tb1_id=tb1.id
    left join
     (select tb1_id,count(*) as num from tb2 group by tb1_id) a
    on tb2.tb1_id=a.tb1_id
    /*
    id          tb1_id      name       zonge                
    ----------- ----------- ---------- -------------------- 
    1           1           王五         50.0
    2           1           小四         50.0
    3           2           大三         200.0
    4           3           張三         150.0
    5           3           李四         150.0
    */
    drop table tb1,tb2
      

  4.   

    原本是一个机票订单中的
    tb1相当于订票订单
    tb2相当于退票订单
    tb1中一个订单中可包含多个人,所以
    tb2退票订单中有可能只退一个人的,那么这个订单就还有一个人是有效的
    现在要求tb2退票订单中每个的金额