条件 update/inserting 行

conditional update/inserting rows

我需要帮助用来自满足特定条件的其他 table 的数据填充 table (job_desired)。

我要插入 job_desired 的是 (contact_id, title, salary_low)

[contact_id](外键指的是 my_contacts)- 来自一个名为 contact_seeking 的结点 table,其中它们的 seeking_id IN(4,7 ) IE。就业或新工作 (contact_id) 是 contact_seeking

中的 fk

[标题] - 来自一个名为 job_listings 的 table,它满足以下条件

[salary_low] - 也来自 job_listings WHERE salary_low > 工资来自 table job_current(有 fk contact_id)如果完全有帮助

我已经尝试了各种 select 语句和案例更新,但无济于事。 请小白帮忙!

INSERT INTO job_desired(contact_id, title, salary_low)
SELECT 
   a.id, c.title, b.salary
FROM 
   my_contacts a 
INNER JOIN job_current b ON a.id = b.contact_id
INNER JOIN job_listings c ON b.salary < c.salary
INNER JOIN contact_seeking d ON a.id = d.contact_id;

假设"my_contacts"的id字段被调用"id"。

这个查询应该有望回答这个问题:"job_desired" 是来自 "job_listings" 的任何工作支付更高的 "salary" 然后 "salary" 来自 "job_current"各自的"my_contact"。

请试一试。我没有测试这个!如果它不起作用,请告诉我。 "salary_low" 包含现有的 "salary"。 编辑: 为了确定此人是否真的在找工作,我刚刚向 contact_seeking 添加了一个内部联接,它似乎包含此信息?!

所以我遇到的问题是 id 7 没有 job_current 值可以与 job_listings 进行比较。 所以我用下面的代码来解决这个问题。

插入 job_desired(contact_id,标题,salary_low)

SELECT cs.contact_id, jl.title, jl.salary 来自 job_listings jl

在 cs.seeking_id =7

处加入 contact_seeking cs

按薪水排序

限制 1;