子查询声明

时间:2013-09-10 14:54:44

标签: mysql sql database

我在Mysql DB中有两个表 其中一个包含使用Action_ID标识的选项(操作)列表 另一个列表是基于这些行为的任务(针对不同的工作和不同的完成状态)

我需要一个操作列表,排除已分配给特定作业且尚未完成的任务。

到目前为止,我有这些但是我还没有解决错误:

    SELECT 
  * 
FROM
  Workshop_actions 
WHERE Action_ID IS NOT 
  (SELECT 
    Action_ID 
  FROM
    `Workshop_tasks` 
  WHERE W_job_ID = $ Job_ID 
    AND STATUS <> "F")

将$ Job_ID作为特定作业,将F作为完成状态

1 个答案:

答案 0 :(得分:1)

SELECT * 
  FROM Workshop_actions a
  LEFT
  JOIN Workshop_tasks
    ON t.action_id = a.action_id
   AND W_job_ID = $Job_ID 
   AND Status <> "F"
 WHERE t.action_id IS NULL;