有两个表A,B
A:                      B:
id name money   年月     id name  原 消费 剩  消费时间
1  7xx   50    2003-8     1 7xx   50   8  42  2003-8
2  8nn   100   2003-8     2 7xx   42  10   32 2003-8
                          3 7xx   32   20  12 2003-8
                          4 8nn   100 100  0  2003-8
求一个sql语句,列名达到下面的效果
name money month第一次原 第一次消费 第一次剩 第二次原 第二次消费 第二次剩 .........7xx  50    2003-8   50    8        42          42     10          32.........B表中7xx可能不止3个记录(动态的,当月用户消费多少次就有几个当月记录),A表中也有很多的记录,
每个人每个月都加钱,然后这个月的消费所有情况
跟在后面
就是说:把当月配钱的记录放前面,后面的列名为这个月的消费列表,有几次就
有第N次原 第N次消费 第N次剩

解决方案 »

  1.   

    我个人觉得,你的表结构可以精简,具体如下:
    name  money  month     消费次数   消费金额   剩余
    7xx    50    2003-8     1          8        42 
    7xx    42   2003-8      2          10       32
    ..............................................
    这样可能简单点
      

  2.   

    Don't talk to me as if i am stupid
      

  3.   

    我想体现的是,开始发了多少钱,后面跟着消费的情况,一目了然而已
    下个月又加了钱(上个月的欠+发),后面还是本月的消费情况。谢谢Shiyl(云淡风清) 
      

  4.   

    name  money  month     消费次数   消费金额   剩余
    7xx    50    2003-8      1          8        42 
    7xx    50    2003-8      2          10       32
    7xx    82    2003-9      2          10       32
    ..............................................
    82是剩余的32加上9月份的50,是这个意思吗?
    那就做个判断
      

  5.   

    Shiyl(云淡风清) 
    是你这个意思sql语句怎么写?再给你70分的~~谢谢~~
    两个表里面的数据~~怎么把50这个数据定住??
      

  6.   

    这是一个简单的表的外连接问题。
    例如两个表 A(aid,a1,a2,a3)  B(bid,b1,b2,b3)
    select A.aid,A.a1,A.a2,A.a3,B.b1,B.b2,B.b3 FROM A A,B B
    where A.aid=B.bid(+)
    注意:尽量将外连接用在记录少的部分,可以提高执行速度。
      

  7.   

    如果数据库为 ACCESS 的话,可以考虑用 TransForm 语法