使用子查询尝试IN运算符时出现语法错误

时间:2017-11-02 17:47:33

标签: mysql sql

有以下方案

employees

 - id

coordinations

 - id

employee_coordinations

 - id
 - employee_id
 - coordination_id

activities

 - id
 - name
 - state
 - organized_by_id

我尝试进行查询,获取符合以下条件的活动列表

  1. 活动的状态必须等于通知
  2. 活动的组织者必须在列表中 员工所属的协调
  3. 我创建了一个sqlfiddle来促进他们的合作

    我知道我应该使用带有子查询的in运算符,该子查询返回员工所属的协调的id

    我尝试的查询如下:

    select
      a.id,
      a.name,
      a.organized_by_id
    from
      activities a
    where
      a.state = 'notified'
    and
      a.organized_by_in in (
        select
          ec.coordination_id
        from
          employee_coordinations ec
            inner join
          coordinations c
            on
          ec.coordination_id = c.id
            inner join
          employees e
            on
          e.id = ec.employee_id
        where
          e.id = 2;
      );
    

    但是我收到语法错误。

    如果对于用例我的解决方法不正确,我感谢您的建议

    感谢您的时间和帮助

0 个答案:

没有答案