求一个 SQL语法 ? 谢谢!

yerenamong 2008-09-17 08:13:39
表 A

ID CAPTION FID
1 ASDF 0
2 ASDF 1
3 ASDF 1
4 ADFF 1
5 ASDF 2

表 B

Nid CONTEN ID
1 DDDF 0
2 ASDF 1
3 ASDF 1
4 ASDF 1
5 ASDF 2
6 ASDF 2

A B表ID关联 想通过输入 A表的ID查找与A表FID相等的集合, 然后再根据这个已查出的集合查找B表中的所有相关内容 这个SQL 该怎么写呢?
...全文
251 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
yerenamong 2008-09-20
  • 打赏
  • 举报
回复
问题解决! 我想要的是这样
select * from
(select * from b inner join a on b.id =a.id )
where b.id=[输入值]
king19840811 2008-09-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyi8808 的回复:]
SQL codeselect *
from A
left join B on A.FID=B.ID
where A.ID=1
[/Quote]
gh_li 2008-09-17
  • 打赏
  • 举报
回复
学习
wxg22526451 2008-09-17
  • 打赏
  • 举报
回复
--> Test Data: @A
declare @A table ([ID] int,[CAPTION] varchar(4),[FID] int)
insert into @A
select 1,'ASDF',0 union all
select 2,'ASDF',1 union all
select 3,'ASDF',1 union all
select 4,'ADFF',1 union all
select 5,'ASDF',2
--> Test Data: @B
declare @B table ([Nid] int,[CONTEN] varchar(4),[ID] int)
insert into @B
select 1,'DDDF',0 union all
select 2,'ASDF',1 union all
select 3,'ASDF',1 union all
select 4,'ASDF',1 union all
select 5,'ASDF',2 union all
select 6,'ASDF',2

--Code
--select * from @A
--select * from @B

declare @aid int--A表的ID
set @aid=2
select b.* from
(
select * from @A where fid=(select fid from @a where id=@aid)
) a
join @B b on a.id=b.id

--Drop

--Result
/*
Nid CONTEN ID
----------- ------ -----------
5 ASDF 2
6 ASDF 2
*/
yerenamong 2008-09-17
  • 打赏
  • 举报
回复
对 是这个意思
我姓区不姓区 2008-09-17
  • 打赏
  • 举报
回复
A B表ID关联 => 是A.ID=B.ID还是A.FID=B.ID?
通过输入 A表的ID查找与A表FID相等的集合 => 是说通过A.ID查出与该条记录的FID相等的A中的集合吗?
LovingAlison 2008-09-17
  • 打赏
  • 举报
回复
select *
from A
left join B on A.FID=B.ID
where A.ID=你要找的ID
yerenamong 2008-09-17
  • 打赏
  • 举报
回复
只有一个 吗? 还可以怎么写呢?
优途科技 2008-09-17
  • 打赏
  • 举报
回复
大家都是一个答案!
zhangyu_xl 2008-09-17
  • 打赏
  • 举报
回复
select *
from A
left join B on A.FID=B.ID
where A.ID="你的条件"
Wesley 2008-09-17
  • 打赏
  • 举报
回复
select *
from A
left join B on A.FID=B.ID
where A.ID=youenterID
yangpeiyu 2008-09-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyi8808 的回复:]
SQL codeselect *
from A
left join B on A.FID=B.ID
where A.ID=1
[/Quote]
yagebu1983 2008-09-17
  • 打赏
  • 举报
回复
select *
from A
left join B on A.FID=B.ID
where A.ID=你要找的ID
jx_china 2008-09-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 girl013579 的回复:]
select *
from A
left join B on A.FID=B.ID
where A.ID=1
[/Quote]

girl013579 2008-09-17
  • 打赏
  • 举报
回复
select *
from A
left join B on A.FID=B.ID
where A.ID=1
zagj11 2008-09-17
  • 打赏
  • 举报
回复
学习
wuyi8808 2008-09-17
  • 打赏
  • 举报
回复
select *
from A
left join B on A.FID=B.ID
where A.ID=1
aaron2pp 2008-09-17
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 liuyilidan 的回复:]
交叉查询写法:select * from A,B where A.FID=B.FID and A.ID='ID'
[/Quote]

引用错了 ,是不是这样的:select B.* from A,B where A.FID=B.ID and A.ID='输入的ID'
aaron2pp 2008-09-17
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 aaron2pp 的回复:]
引用 1 楼 wuyi8808 的回复:
SQL codeselect *
from A
left join B on A.FID=B.ID
where A.ID=1


明明是查B表的 为什么是from A?

还有 楼主的表述好像不是很清楚啊
通过A表的ID 查找什么与A表FID相等的集合
然后再根据这个已查出的集合 查找B表中的所有相关内容--什么叫相关内容?
[/Quote]

楼主说的好像是查找B表中的所有相关内容,那么应该是
select B.* from A,B.....
loucc 2008-09-17
  • 打赏
  • 举报
回复
同上同上
加载更多回复(8)

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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