sql - PostgreSQL 错误:列“MANAGER”不存在
问题描述
谁能告诉为什么会出现这个错误?我的代码有问题吗?
哪个经理 (ename) 只与与他从事不同工作的员工一起工作?
Select e.ename
from emp e
where e.job = "MANAGER"
and e.mgr not in (select empno from emp where job = "MANAGER")
查询错误:FEHLER: Spalte >>MANAGER<< existsiert nicht LINE 1: Select e.ename from emp e where e.job = "MANAGER" and e.mgr ...
图片:
解决方案
您的字符串文字应该用单引号而不是双引号引起来。
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);
推荐阅读
- css - PrimeNG P-COL 显示在不同的线上
- blazor - 如何在 Blazor 应用程序中制作计时器泄漏证明?
- sql - 可以从多个选择中创建数据库视图吗?例如,第 1 行完全来自 1 个表,第 2 行来自另一个
- javascript - 如何用formik提交ant design form
- calendar - while (cursor.moveToNext()) 在 android studio 中只运行一次
- magento-1.9 - 更改 Magento 1.9 可用性消息取决于数量
- haskell - 运行 Haskell 代码时,“gcc.exe”在“汇编程序”阶段失败
- php - 如何修复“遇到非数值”警告?
- c++ - How do I clamp __m128i signed integers into non-negative unsigned integers in SSE
- reporting-services - 错误消息:为日期参数 SSRS 设置默认值