sql 两表 一对多查询问题

有一个记录员工的表a有一个记录员工业绩的表b一个员工会有多条业绩记录请问怎么取出某员工的所有业绩信息回答者模拟几个字段说明意思即可!... 有一个记录员工的表a 有一个记录员工业绩的表b
一个员工会有多条业绩记录 请问怎么取出某员工的所有业绩信息
回答者模拟几个字段说明意思即可!
展开
 我来答
深刻如此
2010-02-04 · TA获得超过703个赞
知道小有建树答主
回答量:109
采纳率:100%
帮助的人:115万
展开全部
这应该是一个1对多的映射关系
1个员工可以对应多条业绩记录
那么可以设员工表的主键是员工id,并且作为业绩表的外键。
比如业绩表叫做achievement_table员工id对应的列为employee_id

比如员工表叫做employee_table 主键id为员工id,以及表中有列employee_name 表示员工名字
可以 select * from employee_table as a,achievement_table as b where a.id = b.emplyee_id and b.emplyee_name = '员工姓名'

这样就完成了通过员工姓名 取得对应业绩记录的查询,这个查询是联合查询,效率高于嵌套子查询,希望帮到你。
百度网友6a7d11453
2010-02-04 · TA获得超过954个赞
知道小有建树答主
回答量:931
采纳率:50%
帮助的人:711万
展开全部
你的表b里应该有一个员工编号或者姓名之类的字段吧

那就直接从表b里查询就行

select employeeID, score from tableB where employeeID=12345
select employeename, score from tableB where employeename='aaaaa'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Helloguys
2010-02-04 · 贡献了超过132个回答
知道答主
回答量:132
采纳率:0%
帮助的人:53.7万
展开全部
为了消除数据冗余,所以才将数据做成两张表存放的形式,所以B表里面肯定有员工编号的字段
select a.员工编号,...from a left join b on a.员工编号=b.员工编号
where a.员工编号=‘’
这样就能把某个员工的业绩都列出了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wyd52x
2010-02-04 · TA获得超过1943个赞
知道小有建树答主
回答量:520
采纳率:0%
帮助的人:632万
展开全部
使用链表查询
select a.你要的列,b.列 from a inner join b on(a.与b表有关系的列=b.与a表有关系的列)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式