首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取同事的Mysql select查询

获取同事的Mysql select查询
EN

Stack Overflow用户
提问于 2012-05-11 08:10:16
回答 3查看 106关注 0票数 0

我在一些工作和一些工人之间有一种多对多的关系。

每个工人都有像年龄这样的属性。我希望获得所有与22岁的工人协作的工作和工人(例如),包括22岁的工人。

例如,如果A和B是两个执行任务X的工人,其中一个是22岁,我希望查询同时返回A和B(与X及其属性连接)

我有三张表:

工作

1个JobI

2个JobII

员工:

A Smith 22

B约翰21

C插孔23

J-W关系

1个A

1 B

2亿

2 C

在本例中,我需要A和B的信息以及工作I,因为A 22岁,并且在工作I中与B协作

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-11 08:26:58

就像这样

代码语言:javascript
复制
Select * From Workers 
join (Select Distinct WorkerID From WorkerJobs Join Workers on Worker.WorkerID = WorkerJobs.WorkerID and Worker.Age = 22) worker22 on worker22.workerid = worker.workerid
join Jobs on jobs.jobid = workerjobs.jobid
join WorkerJobs on Workerjobs.workerid = workers.workerid
and WorkerJobs.JobId = Jobs.JobID

即与一个22岁的工人得到所有的工作,然后加入回到工作和工人,以获得细节。

任何22岁的人都会重复做一份以上的工作,而任何一份工作都会有两岁以上的员工。

票数 1
EN

Stack Overflow用户

发布于 2012-05-11 08:21:21

你的问题有点令人费解。你是想让22岁的工人得到所有的工作,还是想要A和B?不过,我还是会尝试回答这两个问题。

假设在您的工作列表中有job_id、worker_id、job_description……假设您的worker表中有worker_id、年龄和其他描述

为了获取所有22岁的作业和工人,运行以下查询。

代码语言:javascript
复制
SELECT jobs.*,workers.* FROM jobs,workers WHERE jobs.worker_id = workers.worker_id AND workers.age=22;

这将返回与年龄为22岁的员工相关联的所有职务数据和员工数据。我希望这能回答你的问题

票数 0
EN

Stack Overflow用户

发布于 2012-05-11 08:29:58

假设您的模式如下所示:

代码语言:javascript
复制
Table workers {
    id,
    age,
    ...
}
Table jobs {
    id,
    worker_id,
    ...
}

要回答您的问题,您需要一个带子查询的查询。

内部查询

代码语言:javascript
复制
select jobs.id 
from jobs 
left join workers on workers.id = jobs.worker_id 
where age = 22

返回所有作业,这些作业的工人年龄为22岁。

外部查询

代码语言:javascript
复制
select * 
from jobs, workers 
where jobs.worker_id = workers.id 
  and jobs.id in (INNER QUERY)

选择在内部查询中拥有作业的所有作业和工作器。

最终结果:

代码语言:javascript
复制
select * 
from jobs, workers 
where jobs.worker_id = workers.id 
  and jobs.id in (select jobs.id 
                  from jobs 
                  left join workers on workers.id = jobs.worker_id 
                  where age = 22)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10543772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档