注册 登录
编程论坛 SQL Server论坛

sql求救

copy462829 发布于 2007-12-11 22:11, 1079 次点击
原数据
表A:
 emp_name  pay_Moeny
       admin      134
       ay         100
       my         600      
表B:
emp_name   pay_Moeny
   my          14768

我想实现的结果:
 emp_name  pay_Moeny  Moeny
  admin        134     0
  ay           100     0
  my           600     14768

请问高手帮帮忙
6 回复
#2
copy4628292007-12-11 22:11
自己顶一下
#3
copy4628292007-12-11 23:14
以解决  
select a.login_name,isnull(sum(b.pay_Moeny),0) as 出租总额 , isnull (count(b.pay_Moeny),0) as 出租的数量,

isnull((select sum(c.pay_Moeny) from tb_employee_Sale as c where c.emp_name=a.login_name  ),0)  as 出售总额,
isnull((select count(c.pay_Moeny) from tb_employee_Sale as c where c.emp_name=a.login_name  ),0)  as 出售数量
 from tb_login as a join tb_employee as b on  b.emp_name=a.login_name  

 group by a.login_name

嘎嘎 继续 加班
#4
madpbpl2007-12-11 23:28
create table a
(emp_name varchar(10) not null,
pay_money decimal(18,0)
)
insert into a(emp_name,pay_money)values('admin',134)
insert into a(emp_name,pay_money)values('ay',100)
insert into a(emp_name,pay_money)values('my',600)

create table b
(
emp_name varchar(10) not null,
pay_money decimal(18,0)
)
insert into b(emp_name,pay_money)values('my',14768)

select a.emp_name,a.pay_money,isnull(b.pay_money,0) as [money] from a left join b on a.emp_name=b.emp_name

我是这样解的,刚学sql server,不太熟,动作慢了。
#5
西风独自凉2007-12-12 09:03
select  a.emp_name , a.pay_Moeny , isnull(b.Moeny,0) from A left join B  on a.emp_name=b.emp_name
就樣好像就可以了,有必要那麼復雜麼
#6
purana2007-12-12 10:01
嗯.
一下Left Join或Right Join就可以了.
#7
缘吇弹2007-12-12 20:12
呵呵,那毕竟是LZ的劳动成果.
1