sql 查询 会的速度帮忙看看 在线等

qq574444572 2011-06-10 09:14:19
a表 有字段 devid name dept code
1 dd pp 0001
1 dd pp 0002
1 dd pp 0003
2 aa bb 0001
2 aa bb 0002
2 aa bb 0003

b表 有字段 devid realmoney code
1 55 0001
2 77 0002

devid 相当于对于整体的标识
code 是对于小部件的标识
联合a b表 查出 各个部件的 realmoney 当a表中code 没在b表中时 让其realmoney 为0
...全文
69 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yes20090314 2011-06-10
  • 打赏
  • 举报
回复
select a.devid,a.code,ISNULL(b.realmoney,0) realmoney from a left join b
on (a.devid=b.devid and a.code=b.code)
group by a.devid,a.code
qq574444572 2011-06-10
  • 打赏
  • 举报
回复
解决了 谢谢大家帮忙 分就给大家了
chuanzhang5687 2011-06-10
  • 打赏
  • 举报
回复
select a.devid,isnull(realmoney,0)as realmoney,a.code from a left join b on a.code=b.code
devid,realmoney,code
1,55,1
1,77,2
1,0,3
2,55,1
2,77,2
2,0,3

(6 行受影响)
chuanzhang5687 2011-06-10
  • 打赏
  • 举报
回复
create table a
(
devid int,
name varchar(20),
dept varchar(20),
code int
)
create table b
(
devid int,
realmoney int,
code int
)

insert into a values(1 ,'dd', 'pp', 0001)
insert into a values(1 ,'dd', 'pp', 0002)
insert into a values(1 ,'dd', 'pp', 0003)
insert into a values(2 ,'aa', 'bb', 0001)
insert into a values(2 ,'aa', 'bb', 0002)
insert into a values(2 ,'aa', 'bb', 0003)
insert into b values(1,55,0001)
insert into b values(2,77,0002)

select a.devid,isnull(realmoney,0),a.code from a left join b on a.code=b.code
drop table a
drop table b
devid,,code
1,55,1
1,77,2
1,0,3
2,55,1
2,77,2
2,0,3
chuanzhang5687 2011-06-10
  • 打赏
  • 举报
回复
select a.devid,isnull(realmoney,0),a.code from a left join b on a.code=b.code
孤独剑_LPZ 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 asftrhgjhkjlkttttttt 的回复:]
select a.devid,a.code,ISNULL(b.realmoney,0) realmoney from a left join b
on (a.devid=b.devid and a.code=b.code)
group by a.devid,a.code
[/Quote]
手误,将group by 这个删除即可
ff284996867 2011-06-10
  • 打赏
  • 举报
回复
select a.devid,a.code,ISNULL(b.realmoney,0) realmoney 
from a left join b on a.devid=b.devid and a.code=b.code
cd731107 2011-06-10
  • 打赏
  • 举报
回复
update a set realmoney=0 
where a.code not in (select code from b where b.devid=a.devid)
孤独剑_LPZ 2011-06-10
  • 打赏
  • 举报
回复
select a.devid,a.code,ISNULL(b.realmoney,0) realmoney from a left join b
on (a.devid=b.devid and a.code=b.code)
group by a.devid,a.code

34,587

社区成员

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

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