我有两个表:jobs
和applications
。
jobs
包含id
(密钥)和user_id
(创建该行的用户的ID)列。
applications
包含job_id
列(应用程序与之关联的作业的ID)。
我尝试构建的查询将执行以下操作:
jobs
表格中具有特定user_id
applications
表中job_id
与上次搜索中返回的id
相关的所有行e.g。
jobs
表格
id user_id ...>
1 1 ...
2 3 ...
3 1 ...
applications
表格
id job_id ...>
1 3 ...
2 1 ...
3 2 ...
如果我运行user_id
= 1的查询,它应该从applications
表返回第1行和第2行,因为它们与user_id
= 1的作业相关。
如何实现这一目标?
答案 0 :(得分:2)
select app.* from applications app, jobs j
where j.id = app.job_id
and j.user_id = '1'
使用加入。
答案 1 :(得分:0)
你可以加入这两个表来制作一个更大的表"包含所有数据。您将在公共列上加入它们,在您的情况下,它的Id = job_id。
查询将如下所示:
select a.*
from applications a
join jobs j on a.job_id = j.id
where j.user_id = '1'