两张表查询问题

兰之羽翼 2014-04-23 10:40:50
SQL Server
表名:a和b
其中a是人员信息表,b是组织结构表
每个人员都隶属于一个组织单位
a表中有两个字段a1和a2,a1含义:组织单位内码,a2含义:部门内码
b表中有个字段b1,b1含义:内码

a.a1=b.b1
a.a2=b.b1
就是要知道哪个人员隶属于哪个组织或部门,要用a1和a2去b1查询,请问这个语句怎么写?
...全文
51 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
select *
from a a
inner join b b
on a.a1=b.b1
inner join b c
on a.a2=c.b1
where 你的条件
其实都一样 你自己改改就可以了
兰之羽翼 2014-04-23
  • 打赏
  • 举报
回复
引用 1 楼 chwnrthd 的回复:


create table testa(name varchar(10),a1 int,a2 int)
insert testa 
select '张三',1,3 union all
select '李四',2,4
create table testb(b1 int,bname nvarchar(10))
insert testb
select 1,'Xxx单位' union all
select 2,'yyy单位' union all
select 3,'管理部' union all
select 4,'宣传部' 

select 名字=a.name,
		单位=b.bname,
		部门=c.bname
from testa a
inner join testb b
on a.a1=b.b1
inner join testb c
on a.a2=c.b1

/*
名字 单位   部门
张三	Xxx单位	管理部
李四	yyy单位	宣传部
*/

谢谢,只是不是我不要的,我只要一个查询语句,放在C#代码中
兰之羽翼 2014-04-23
  • 打赏
  • 举报
回复
引用 2 楼 t101lian 的回复:
select * from a1 a inner join b1 b on a.a1=b.b1 and a.a2=b.b1
语句不对
t101lian 2014-04-23
  • 打赏
  • 举报
回复
select * from a1 a inner join b1 b on a.a1=b.b1 and a.a2=b.b1
  • 打赏
  • 举报
回复


create table testa(name varchar(10),a1 int,a2 int)
insert testa 
select '张三',1,3 union all
select '李四',2,4
create table testb(b1 int,bname nvarchar(10))
insert testb
select 1,'Xxx单位' union all
select 2,'yyy单位' union all
select 3,'管理部' union all
select 4,'宣传部' 

select 名字=a.name,
		单位=b.bname,
		部门=c.bname
from testa a
inner join testb b
on a.a1=b.b1
inner join testb c
on a.a2=c.b1

/*
名字 单位   部门
张三	Xxx单位	管理部
李四	yyy单位	宣传部
*/

34,588

社区成员

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

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