一个建立新表的问题,急死我了~~

hsdf_nn 2004-12-07 04:17:38
有四个表如下:
1: order_h 内有字段:'orderno' numeric(12,0)
2: order_d 内有字段: 'orderno' numeric(12,0); 'orderqty' numeric(13,2) ;barcode
3: receive_h 内有字段: receiveno numeric(12,0); 'orderno' numeric(12,0)
4: receive_d 内有字段: receiveno numeric(12,0); 'receiveqty' numeric(13,2) ;barcode
对应关系是:
order_h.orderno=order_d.orderno;
receive_h.orderno=order_h.orderno
receive_h.receiveno=receive_d.receiveno
现在要用上面四个表建立一个新表起名为t_or,要求如下:
t_orderno,(关键字段)
t_receiveno,
t_orderqty,
t_orderzj,
t_receiveqty
t_receivezj
对应关系是:
t_orderno=order_h.orderno
t_receiveno=receive_h.orderno
t_orderqty=sum(order_d.orderqty)
t_orderzj=count(order_b.barcode)
t_receiveqty=sum(receive_h.orderqty)
t_receivezj=count(receive_h.barcode)
要求以order_h.orderno为关键字段,在另外三个表中搜索符合条件的记录,假如有则添加进去,如没有对应的字段则为NULL.用存储过程写.
因为在order_h存在的orderno记录在receive_h中不一定存在,导致我写了一个相当复杂的存储过程,我想知道大家能不能用更简单的方法来完成.在这先谢过了~
...全文
73 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hsdf_nn 2004-12-07
  • 打赏
  • 举报
回复
我的思路是先插入t_orderno,t_orderqty,t_orderzj这三个字段。然后用三个update依次插入t_receiveno,t_receiveqty,t_receivezj
方法比较苯,再说连用3个update,想想效率也不会高到那去~
不知道谁有更好的思路提供给我?谢谢了~
netcoder 2004-12-07
  • 打赏
  • 举报
回复
既然楼主已经写好了,不妨贴出来吧

34,872

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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