【问题标题】:Call variable of subquery that located on the where clause调用位于 where 子句上的子查询变量
【发布时间】:2020-12-19 19:35:41
【问题描述】:

我有 3 张桌子:

  1. 员工:有emp_no
  2. current_dept_emp : 有emp_no, dept_no
  3. 部门:有部门名称

我想调用 emp_no,以及应该是“Marketing”的 dept_name。但是,该变量 (dept_name) 不会在任何选择中调用。我该怎么做? 这是我的代码

select 
    e.emp_no,
    xxx
from employees as e
    join current_dept_emp cde 
    on e.emp_no = cde.emp_no
    where cde.dept_no in 
            (select cde2.dept_no
            from current_dept_emp cde2 
            join departments d2
            on cde2.dept_no = d2.dept_no 
            where d2.dept_name = 'Marketing')

我想把那段代码写在 xxx 行。

【问题讨论】:

    标签: sql subquery where-clause


    【解决方案1】:

    in 没有做任何有用的事情。只需对所有三个表使用joins:

    select emp_no, xxx
    from employees e join
         current_dept_emp cde
         on e.emp_no = cde.emp_no join
         departments d
         on d.dept_no = cde.dept_no
    where d.dept_name = 'Marketing'
    

    【讨论】:

    • 我明白了你的想法并以我的方式解决问题。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    • 2012-10-16
    • 1970-01-01
    相关资源
    最近更新 更多