这样的SQL应该如何写?

sybase2000 2003-01-28 02:44:34
我有一个表a,只含有一个字段b(字符型),L,N为标志位,L表示用户信息,N表示该用户的明细记录,记录如下(一行为一条记录):
L 胡飞 男 上海长宁区大海路10号
N 2001.01.01 -100.00 500.00
N 2001.01.20 200.00 700.00
N 2001.01.30 -300.00 400.00
L 张海 女 杭州西湖路103号
N 2001.05.01 300.00 800.00
N 2001.06.08 -500.00 300.00
N 2001.07.20 1500.00 1800.00
N 2001.09.30 2000.00 3800.00
L 李明 男 苏州大河路1号
N 2001.03.01 800.00 900.00
我要求用SQL语句生成一个新表,表的字段及内容如下:
用户名 性别 地址 日期 发生金额 余额
胡飞 男 上海长宁区大海路10号 2001.01.01 -100.00 500.00
胡飞 男 上海长宁区大海路10号 2001.01.20 200.00 700.00
胡飞 男 上海长宁区大海路10号 2001.01.30 -300.00 400.00
张海 女 杭州西湖路103号 2001.05.01 300.00 800.00
张海 女 杭州西湖路103号 2001.06.08 -500.00 300.00
张海 女 杭州西湖路103号 2001.07.20 1500.00 1800.00
张海 女 杭州西湖路103号 2001.09.30 2000.00 3800.00
李明 男 苏州大河路1号 2001.03.01 800.00 900.00

这样的SQL应该如何写?

...全文
64 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
oishi 2003-01-30
  • 打赏
  • 举报
回复
你真烦!多建一个表!不就得了!
sybase2000 2003-01-29
  • 打赏
  • 举报
回复
b表是需要新建的一个表,a表只有一个字段,
select a.用户名,a.性别,a.地址,b.日期,b.发生金额,b.余额
from a join b on a.编号=b.编号
好象不能执行吧!
liuri璇玑 2003-01-28
  • 打赏
  • 举报
回复
要你增加一个的,不然怎么关联?
sybase2000 2003-01-28
  • 打赏
  • 举报
回复
a.编号,表中没有编号字段呀!
liuri璇玑 2003-01-28
  • 打赏
  • 举报
回复
select a.用户名,a.性别,a.地址,b.日期,b.发生金额,b.余额
from a join b on a.编号=b.编号
liuri璇玑 2003-01-28
  • 打赏
  • 举报
回复
应该考虑把原表建为两个表
A表
1 胡飞 男 上海长宁区大海路10号
2 张海 女 杭州西湖路103号
3 李明 男 苏州大河路1号

B表
1 2001.01.01 -100.00 500.00
1 2001.01.20 200.00 700.00
1 2001.01.30 -300.00 400.00
2 2001.05.01 300.00 800.00
2 2001.06.08 -500.00 300.00
2 2001.07.20 1500.00 1800.00
2 2001.09.30 2000.00 3800.00
3 2001.03.01 800.00 900.00
liuri璇玑 2003-01-28
  • 打赏
  • 举报
回复
很奇怪的表结构,用什么来判断
N 2001.01.01 -100.00 500.00
是属于
L 胡飞 男 上海长宁区大海路10号
的明细而不是
L 张海 女 杭州西湖路103号


sybase2000 2003-01-28
  • 打赏
  • 举报
回复
不需要计算余额,此余额字段为a表中明细记录中的最后一个字段值,SQL能实现吗?
westbulls 2003-01-28
  • 打赏
  • 举报
回复
要计算余额,必须要用游标的,因为sql语句只能处理集合操作,不能处理行操作,所以不可能用一条语写完成.

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧