如何在查询中正确写入别名 SQL oracle
how to correctly write an alias in a query SQL oracle
这是我的查询
CREATE VIEW CourseQueuePositions AS
SELECT t2.code , t2.cid ,
(SELECT COUNT(*) as queue
FROM Waits t1
WHERE t2.code = t1.code AND t1.queue# <= t2.queue#)
FROM Waits t2;
我一直收到这个编译错误
命令行错误:3 列:9
00998.00000 - "must name this expression with a column alias"
虽然 Oracle SQL 开发人员没有事先指出任何错误。另外我相信我正在使用别名 "query" 所以我真的不明白。帮助将不胜感激
尝试将别名放在子查询之后而不是子查询中的列名之后。
不过,我会这样重写查询:
CREATE VIEW CourseQueuePositions AS
SELECT t2.code , t2.cid , count(t1.code) queue
FROM Waits t1, Waits t2
WHERE t2.code = t1.code AND t1.queue# <= t2.queue# ;
我现在无法访问 Oracle,因此无法对此进行测试。但试一试。
查看您的查询后,很难准确判断您正在尝试做什么。你能用示例数据更新问题并解释你要做什么吗?
我想出了解决办法。以前我在内部子查询 SELECT 语句中添加了别名,但这不是正确的方法。我应该做的是为整个子查询创建一个别名。所以像这样...
CREATE VIEW CourseQueuePositions AS
SELECT t2.code, t2.cid,
(SELECT COUNT(*)
FROM Waits t1
WHERE t1.code = t2.code AND t1.queue# <= t2.queue#) AS queue
FROM Waits t2;
这是我的查询
CREATE VIEW CourseQueuePositions AS
SELECT t2.code , t2.cid ,
(SELECT COUNT(*) as queue
FROM Waits t1
WHERE t2.code = t1.code AND t1.queue# <= t2.queue#)
FROM Waits t2;
我一直收到这个编译错误 命令行错误:3 列:9 00998.00000 - "must name this expression with a column alias"
虽然 Oracle SQL 开发人员没有事先指出任何错误。另外我相信我正在使用别名 "query" 所以我真的不明白。帮助将不胜感激
尝试将别名放在子查询之后而不是子查询中的列名之后。
不过,我会这样重写查询:
CREATE VIEW CourseQueuePositions AS
SELECT t2.code , t2.cid , count(t1.code) queue
FROM Waits t1, Waits t2
WHERE t2.code = t1.code AND t1.queue# <= t2.queue# ;
我现在无法访问 Oracle,因此无法对此进行测试。但试一试。
查看您的查询后,很难准确判断您正在尝试做什么。你能用示例数据更新问题并解释你要做什么吗?
我想出了解决办法。以前我在内部子查询 SELECT 语句中添加了别名,但这不是正确的方法。我应该做的是为整个子查询创建一个别名。所以像这样...
CREATE VIEW CourseQueuePositions AS
SELECT t2.code, t2.cid,
(SELECT COUNT(*)
FROM Waits t1
WHERE t1.code = t2.code AND t1.queue# <= t2.queue#) AS queue
FROM Waits t2;