刚才发过一遍  担心没有说明白  再发一遍
表Atransid                  line               account               debit            credit154                     0             5501080105                            100.000000

154                      1              100101      .000000           100.000000155                     0            5501080106                           300.000000

155                     1            100201      .000000          300.000000156                   0          5501080203                          350.000000

156                  1           100101      .000000          350.000000157                  0         5501080204                           550.000000 157                 1           100201      .000000           550.000000
表BACCTNAME  ACCTCODE工伤险 55010801
张三四 5501080105李五 5501080106医疗险 55010802王五 5501080203赵六 5501080204两表关联条件是a.account=b.acctcode      金额=a.credit-a.debit如何显示出      姓名    险种1    金额     险种2   金额    (即每人的每种保险的金额?)
如何写这个SQL语句???

解决方案 »

  1.   

    create table A
    (
    transid int not null,  
    line varchar(2) not null,constraint CK_line check(line in('0','1')), --只能填0或者1
    account varchar(10) not null,primary key,
    debit money not null,
    credit money not null
    )
    go
    create table B
    (
    acctname varchar(10)not null,
    acctcode varchar(10)not null,foreign key(acctcode)references A(account) --外键,引用A表主键account
    )
    go
    表歪了,有2列看不懂是什么意思,大概样子就是以上代码,你自己再改改就OK了
    那个显示的问题,用SELECT语句 加一个表连接JOIN,就可以显示了,还是那句话,你的表好难看懂