PostgreSQL错误:列“ MANAGER”不存在

时间:2018-12-06 17:34:02

标签: sql postgresql

谁能告诉我这个错误为什么会弹出?我的代码有问题吗?

哪个经理(ename)仅与工作不同的员工一起工作?

{{1}}
  

查询错误:FEHLER:Spalte >> MANAGER << existiert nicht   第1行:从emp e中选择e.ename,其中e.job =“ MANAGER”和e.mgr ...

图片:

enter image description here

1 个答案:

答案 0 :(得分:1)

您的字符串文字应该用单引号引起来,而不是双引号。

SELECT e.ename
    FROM emp e
    WHERE e.job = 'MANAGER'
        AND e.mgr NOT IN(SELECT empno
                             FROM emp
                             WHERE job = 'MANAGER'); 

另外,根据您的标题,我想知道是否应该更一般地编写此查询以说明任何共同的工作?像这样:

SELECT e.ename
    FROM emp e
    WHERE NOT EXISTS(SELECT 1
                         FROM emp em
                         WHERE em.empno = e.mgr
                             AND em.job = e.job);