sql - 在 as 语句之后 SQL 命令未正确结束
问题描述
我想创建一个名为 PROJECT_FEMALE 的视图。来自 3 个不同的表,但 sql 给了我这个错误。
CREATE VIEW PROJECT_FEMALE
AS
SELECT e.Ssn, e.Fname, e.Lname, p.Pnumber, p.Pname, w.Hours
FROM Employee AS e, Works_on AS w, Project AS p
WHERE e.Ssn = w.Essn AND w.pno = p.Pnumber AND e.sex = 'F';
错误:
[代码:933,SQL 状态:42000] ORA-00933:SQL 命令未正确结束
[脚本位置:103 - 105]
它指向后面的声明,Employee
但我不明白问题是什么,我该如何解决?
解决方案
Oracle 不支持表别名AS
,只能AS
用于列别名;所以,你的代码应该是:
CREATE VIEW PROJECT_FEMALE
AS
SELECT e.Ssn,
e.Fname,
e.Lname,
p.Pnumber,
p.Pname,
w.Hours
FROM Employeee, Works_on w, Project p
WHERE e.Ssn = w.Essn AND w.pno = p.Pnumber AND e.sex = 'F';
或更好)
CREATE VIEW PROJECT_FEMALE
AS
SELECT e.Ssn,
e.Fname,
e.Lname,
p.Pnumber,
p.Pname,
w.Hours
FROM Employee e
INNER JOIN Works_on w ON (e.Ssn = w.Essn)
INNER JOIN Project p ON (w.pno = p.Pnumber)
WHERE e.sex = 'F';
推荐阅读
- smtp - 用于处理/发送电子邮件的 Spring Integration 流程需要数小时才能处理某些消息
- r - 在 PANEL 上始终居中 ggplot 标题而不是 PLOT
- git - 什么可以将 `[url ...] insteadOf=...` 添加到我的 .gitconfig 文件中?
- scala - 如何使用带有花车的凿子 dsptools
- c# - 高效处理数百个 AI
- clojure - Anglican Clojure 中的嵌套 Let
- c# - 从 C# 程序访问 C++ DLL
- html - 如何在列布局css上扩展背景颜色
- php - Codeigniter搜索引擎BUG:结果分页项显示所有帖子
- error-handling - Julia:如何在 Atom 中从 Juno 复制错误消息?