首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

组合其它表来查询的查询语句

2013-01-04 
结合其它表来查询的查询语句表A的结构idbxgsid12223143表B的结构idaid11233242其中B.aid 和A.id 是对应的

结合其它表来查询的查询语句
表A的结构

id   bxgsid
1     2
2     2
3     1
4     3

表B的结构

id   aid

1     1
2     3
3     2
4     2

其中B.aid 和  A.id 是对应的
现在想用一句SQL语句,查询表B中,A.bxgsid=2的数据, 即结果应该为B.1 B.3 B.4

请指教,我现在写的是

select * from b where(select * from a where bxgsid=2)
但通不过,
[解决办法]

select B.* from A,B where A.ID=B.ID and A.bxgsid=2

[解决办法]
select * from b where sid in (select id from a where bxgsid=2)
[解决办法]
----------------------------
-- Author  :TravyLee(物是人非事事休,欲语泪先流!)
-- Date    :2012-11-28 09:09:40
-- Version:

--      Microsoft SQL Server 2012 - 11.0.2100.60 (Intel X86) 

--Feb 10 2012 19:13:17 

--Copyright (c) Microsoft Corporation

--Enterprise Edition: Core-based Licensing on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)

--
----------------------------
--> 测试数据:[A]
if object_id('[A]') is not null drop table [A]
go 
create table [A]([id] int,[bxgsid] int)
insert [A]
select 1,2 union all
select 2,2 union all
select 3,1 union all
select 4,3
--> 测试数据:[B]
if object_id('[B]') is not null drop table [B]
go 
create table [B]([id] int,[aid] int)
insert [B]
select 1,1 union all
select 2,3 union all
select 3,2 union all
select 4,2
go

select
b.*
from
B
inner join
A
on a.id=b.aid
where
a.bxgsid=2
/*
idaid
----------------
11
32
42
*/

热点排行