sql 语句请教

zestsnake 2017-12-11 03:29:54
balance 主数据表


balance_id int identity 10
balance_account nvarchar 50
balance_name nvarchar 50
balance_jjbh nvarchar 50
balance_jjxh nvarchar 50
balance_jfjs numeric 18
balance_balance_jf numeric 18
balance_dfjs numeric 18
balance_balance_df numeric 18
balance_subaccount nvarchar 10
balance_branch nvarchar 10
balance_cur nvarchar 10
balance_date date 10
balance_ManagerNum nvarchar 15
balance_branchSys nvarchar 10
=======================================================
balancetmp 临时表
balancetmp_account nvarchar 100
balancetmp_name nvarchar 100
balancetmp_jjbh nvarchar 100
balancetmp_jjxh nvarchar 100
balancetmp_jfjs numeric 20
balancetmp_balance_jf numeric 20
balancetmp_dfjs numeric 20
balancetmp_balance_df numeric 20
balancetmp_cur nvarchar 20
balancetmp_subaccount nvarchar 20
balancetmp_date datetime 16
balancetmp_branch nvarchar 20
======================================================

ManagerAccount 经理账号表
ManagerAcc_id int identity 10
ManagerAcc_account nvarchar 50
ManagerAcc_accName nvarchar 50
ManagerAcc_mangerNum nvarchar 15
ManagerAcc_mangerName nvarchar 15
ManagerAcc_branch nvarchar 10
ManagerAcc_cur nvarchar 5
ManagerAcc_subAcc nvarchar 10
ManagerAcc_Accbranch nvarchar 10


原先是对 balancetmp 中 balancetmp_account,balancetmp_name,balancetmp_subaccount 记录进行合

并后插入 balance表中

insert into balance (balance_account, balance_name,

balance_jjbh,balance_jjxh,balance_jfjs, balance_balance_jf,
balance_dfjs,
balance_balance_df,
balance_subaccount,
balance_branch,
balance_cur,
balance_date)
select balancetmp_account as balancetmp_account ,
balancetmp_name as balancetmp_name,
MAX(balancetmp_jjbh) as balancetmp_jjbh ,
MAX(balancetmp_jjxh) as balancetmp_jjxh ,
SUM(balancetmp_jfjs) as balancetmp_jfjs ,
SUM(balancetmp_balance_jf) as balancetmp_balance_jf ,
SUM(balancetmp_dfjs) as balancetmp_dfjs ,
SUM(balancetmp_balance_df) as balancetmp_balance_df,
max(balancetmp_subaccount) as balancetmp_subaccount,
MAX(balancetmp_branch) as balancetmp_branch,
MAX(balancetmp_cur) as balancetmp_cur,
MAX(balancetmp_date) as balancetm_date
from balancetmp group by balancetmp_account,balancetmp_name,balancetmp_subaccount


是这样的SQL 语句

现在还要和ManagerAccount链接 balancetmp 去join ManagerAccount;
其他都和原来差不多,只是要处理下 balance.balance_branchSys 字段
如果balancetmp_account.balancetmp_account 在ManagerAccount.ManagerAcc_account有,
那么balance.balance_branchSys=ManagerAccount.ManagerAcc_branch
否则balance.balance_branchSys=balancetmp.balancetmp_branch
...全文
101 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 版主 2017-12-11
  • 打赏
  • 举报
回复
楼主再描述清楚一点吧, 希望得到什么样的结果?自己认为困难的地方在哪里?
听雨停了 2017-12-11
  • 打赏
  • 举报
回复
最近怎么这么多重复的帖子

34,588

社区成员

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

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