请教两张表关联问题!

jieyh 2005-11-25 10:06:42
如何根据下面两张A,B表获取如下结果集?
A表中的C1,C2都是B表中的C1的外键。

A表
c1 c2 c3
1 3 'aa'
4 8 'bb'
B表
c1
1
2
3
4
5
6
7
8
9
10
结果集
C1,C2
1 'aa'
2 'aa'
3 'aa'
4 'bb'
5 'bb'
6 'bb'
7 'bb'
8 'bb'
9 NULL
10 NULL
不知我的表达的意思大家是否理解~~~~~~~~
...全文
135 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
w_f 2005-11-25
  • 打赏
  • 举报
回复
修改一点才对
SELECT B.C1,A.C3
FROM B left join A on B.C1=A.C1
WHERE B.C1>=A.C1 AND B.C1<=A.C2
jin2005 2005-11-25
  • 打赏
  • 举报
回复
那就用right join
lw1a2(一刀) 的正解
OracleRoob 2005-11-25
  • 打赏
  • 举报
回复
w_f() :

9 null
10 null
没有了呀!
w_f 2005-11-25
  • 打赏
  • 举报
回复
掉线一下这么多人了!
思路:
SELECT B.C1,A.C3
FROM B,A
WHERE B.C1>=A.C1 AND B.C1<=A.C2
WangZWang 2005-11-25
  • 打赏
  • 举报
回复
create table a(c1 int,c2 int,c3 varchar(8))
create table b(c1 int)
go
Insert into a
select
1 , 3 , 'aa'
union select 4 , 8 ,'bb'
go
insert into b
select 1
union select 2
union select 3
union select 4
union select 5
union select 6
union select 7
union select 8
union select 9
union select 10
go
select b.c1,a.c3 as c2
from b left join a
on b.c1 between a.c1 and a.c2
OracleRoob 2005-11-25
  • 打赏
  • 举报
回复
select b.c1, (select a.c3 from a where b.c1>= a.c1 and b.c1<=a.c2) as c2
from b left join a on b.c1=a.c1
OracleRoob 2005-11-25
  • 打赏
  • 举报
回复
select b.c1, (select a.c3 from a where b.c1>= a.c1 and b.c1<=a.c2)
from b left join a on b.c1=a.c1


lw1a2 2005-11-25
  • 打赏
  • 举报
回复
select B.c1,A.c3 from A right join B on B.c1 between A.c1 and A.c2
jieyh 2005-11-25
  • 打赏
  • 举报
回复
正式,有没不需要游标就能实现获取我所需要的结果集啊?
w_f 2005-11-25
  • 打赏
  • 举报
回复
你要表述的是:
A表中,C1是下界,C2是上界吧!
然后按B表输出!

34,587

社区成员

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

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