是否可以在Oracle SQL查询中引用别名中包含空格的方法?我还没找到它。通常,我不使用空格来命名数据库元素,因此这对我来说是新的基础。
这是一个示例查询:
SELECT t.id AS "Ticket ID",
(SELECT w.workgroup_title FROM workgroups w
WHERE w.operator_id = t.operator_id AND ROWNUM < 2) AS "Workgroup Title"
FROM tickets t
在以后的比较操作中,我将如何使用“票证ID”或“工作组标题”?例如:
“票证ID” == 9或“工作组标题” =='工作组#1'
我猜有一个简单的方法可以做到这一点,只是还没有找到它。
谢谢!
PS:这是给我的一件遗留物品。SQL中的别名与其他各种代码动态关联,并且都有空格。因此,删除空格并不是一件容易的事,我目前还没有预算时间。否则,这就是我要做的。
编辑以进行澄清
使用上面的示例,在“工作组标题”始终指代别名的情况下,我将如何执行以下操作:
SELECT t.id AS "Ticket ID",
(SELECT w.workgroup_title FROM workgroups w
WHERE w.operator_id = t.operator_id AND ROWNUM < 2) AS "Workgroup Title",
(SELECT s.support_tier_id FROM support_tiers s
WHERE s.workgroup_title == "Workgroup Title") AS "Support Tier ID"
FROM tickets t
是的,您可以这样做,但是必须将这些名称用双引号引起来:
-- SQL Example
SELECT "Just one" FROM (
SELECT 1 AS "Just one" FROM dual
);
输出:
只有一个 ---------- 1个
-- PL/SQL Example
BEGIN
FOR v_rec IN (SELECT 1 AS "Just one" FROM dual)
LOOP
dbms_output.put_line(v_rec."Just one");
END LOOP;
END;
/
输出:
1个
还有一点好奇:
BEGIN
FOR v_rec IN (SELECT COUNT(1) * 10 FROM dual)
LOOP
dbms_output.put_line(v_rec."COUNT(1)*10");
END LOOP;
END;
这有效..并打印:
10
编辑
您可以在查询的其他地方引用别名列,例如:
SELECT 'It is just one' FROM (
SELECT "Just one" FROM (
SELECT 1 AS "Just one" FROM dual
) t
WHERE t."Just one" = 1 -- prefixing with t. is not necessary in this particular example
);
输出:
只是一个
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句