部门帐户表查询

czyoooo 2011-06-15 10:41:37
部门帐户表
A001 A2部
A001 A1部
A001 A3部
A001 A4部

收到流水帐

20110601 3000 A001
20110602 4000 A001

要求结果:
20110601 3000 A001 A1部
20110602 4000 A001 A2部

因为无法区分A001是那里来的所以,每笔流水帐挂一个部门就可以,
...全文
77 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
czyoooo 2011-06-15
  • 打赏
  • 举报
回复
部门帐户表
帐号 部门
A001 A2部
A001 A1部
A001 A3部
A001 A4部

收到流水帐
日期 金额 帐号
20110601 3000 A001
20110602 4000 A001


要求结果:
20110601 3000 A001 A1部
20110602 4000 A001 A2部

因为无法区分A001是那里来的所以,每笔流水帐挂一个部门就可以,

pumaadamsjack 2011-06-15
  • 打赏
  • 举报
回复
select from 收到流水帐 as A1 join 部门帐户表 as A2 on
A1.账户部 = A2.账户部
group by A2.收到流,A1.账户部
yubofighting 2011-06-15
  • 打赏
  • 举报
回复

create table a(zhanghu varchar(50),bumen varchar(50))

create table b(riqi varchar(50),moneys varchar(50),zhanghu varchar(50))


insert a
select 'A001','A2部'
union all
select 'A001','A1部'
union all
select 'A001','A3部'
union all
select 'A001','A4部'

insert b
select '20110601','3000','A001'
union all
select '20110602','4000','A001'

select distinct riqi,moneys,a.zhanghu,bumen=(select top 1 bumen from a) from
a,b where a.zhanghu=b.zhanghu
yubofighting 2011-06-15
  • 打赏
  • 举报
回复

select distinct riqi,moneys,a.zhanghu,bumen=(select top 1 bumen from a) from a,b where a.zhanghu=b.zhanghu
nierenyi 2011-06-15
  • 打赏
  • 举报
回复
学习了
cd731107 2011-06-15
  • 打赏
  • 举报
回复
select * ,
case when (select count(1) from 部门帐户表 where 帐号=a.帐号) >1 then 'xxx'
else (select top 1 部门 from 部门帐户表 where 帐号=a.帐号) end
from 收到流水帐 a
cd731107 2011-06-15
  • 打赏
  • 举报
回复
select 日期,金额,帐号,case when 部门次数>1 then 'XX' else 部门 end as 部门   
from
(
select a.日期,a.金额,a.帐号,count(*) as 部门次数,max(b.部门) as 部门
from 收到流水帐 a ,部门帐户表 b
where a.帐号=b.帐号
group by a.日期,a.金额,a.帐号
) tb
chuanzhang5687 2011-06-15
  • 打赏
  • 举报
回复
select * ,(case 金额 when 3000 then 'A1部' end)as 部门 from 收到流水帐 where 金额=3000
union
select * ,(case 金额 when 4000 then 'A2部' end)as 部门 from 收到流水帐 where 金额=4000

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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