再进一步的表查询

wangluoyu 2008-02-28 09:45:59
有两个表A,B
A
name,category
1 1
2 1
3 1
4 2
5 2
B
fen,name,rq
100 1 2007


我想得到这样的结果:
name,category,fen,rq
1 1 100 2007
2 1 null null
3 1 null null
...全文
85 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2008-02-28
  • 打赏
  • 举报
回复
create table A(name int , category int)
insert into A values(1, 1 )
insert into A values(2, 1 )
insert into A values(3, 1 )
insert into A values(4, 2 )
insert into A values(5, 2 )
create table B(fen int , name int , rq int)
insert into B values(100, 1 , 2007)
insert into B values(100, 2 , 2003)
go

select a.* , b.fen , b.rq from a left join b on a.name = b.name where a.category = 1

drop table A,B

/*
name category fen rq
----------- ----------- ----------- -----------
1 1 100 2007
2 1 100 2003
3 1 NULL NULL

(所影响的行数为 3 行)
*/
wangluoyu 2008-02-28
  • 打赏
  • 举报
回复
这个不太正确,如果我在B表再加一条记录insert into B values(100, 2 , 2003)

那结果就不是这样了
dawugui 2008-02-28
  • 打赏
  • 举报
回复
create table A(name int , category int)
insert into A values(1, 1 )
insert into A values(2, 1 )
insert into A values(3, 1 )
insert into A values(4, 2 )
insert into A values(5, 2 )
create table B(fen int , name int , rq int)
insert into B values(100, 1 , 2007)
go

select a.* , b.fen , b.rq from a left join b on a.name = b.name where a.category = 1

drop table A,B

/*
name category fen rq
----------- ----------- ----------- -----------
1 1 100 2007
2 1 NULL NULL
3 1 NULL NULL
(所影响的行数为 3 行)
*/

22,294

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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