尝试使用以下"ANY"语法并收到错误:
SELECT DISTINCT Em.ename
FROM Emp Em, Dept D
WHERE Em.eid In (Select D.managerid
FROM Dept D
GROUP BY D.managerid
HAVING EVERY (D.budget > 1000000) AND ANY (D.budget < 5000000)
);
Run Code Online (Sandbox Code Playgroud)
错误输出:
psql:queries.sql:28: ERROR: syntax error at or near "ANY"
LINE 6: HAVING EVERY (D.budget > 1000000) AND ANY (D.budget < 5...
^
Run Code Online (Sandbox Code Playgroud)
编辑:我正在使用Postgres并使用Psql连接.
你可以把它变得更简单,不是吗?
SELECT DISTINCT Em.ename
FROM Emp Em, Dept D
WHERE Em.eid In (Select D.managerid
FROM Dept D
WHERE D.budget > 1000000
GROUP BY D.managerid
HAVING MIN(D.budget) < 5000000
);
Run Code Online (Sandbox Code Playgroud)
要么
SELECT DISTINCT Em.ename
FROM Emp Em, Dept D
WHERE Em.eid In (Select D.managerid
FROM Dept D
GROUP BY D.managerid
HAVING EVERY (D.budget > 1000000) AND MIN(D.budget) < 5000000
);
Run Code Online (Sandbox Code Playgroud)
要么
SELECT DISTINCT Em.ename
FROM Emp Em, Dept D
WHERE Em.eid In (Select D.managerid
FROM Dept D
GROUP BY D.managerid
HAVING MIN (D.budget) > 1000000 AND MIN(D.budget) < 5000000
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2296 次 |
| 最近记录: |