我有以下查询可以正常工作。
SELECT A.*
FROM
(
SELECT 'ABC','DEF' FROM DUMMY
UNION ALL
SELECT col1,col2 FROM DUMMY
) A;
我想在嵌套查询返回的第一列上应用类似的关键字。我尝试了以下方法:
SELECT col1, col2
FROM
(
SELECT 'ABC','DEF' FROM DUMMY
UNION ALL
SELECT col1,col2 FROM DUMMY
) A
WHERE COL1 LIKE 'A%';
但上述查询无效。我收到错误:ORA-00904:“COL1”:标识符无效。
相同的小提琴链接如下:http://sqlfiddle.com/#!4/1c54b/7
请有人可以指导我如何实现同样的目标吗?
编辑:我也在尝试从现有表中获取列。
提前致谢。
答案 0 :(得分:1)
不要忘记定义列别名(' ABC' as col1)
SELECT col1, col2
FROM
(
SELECT 'ABC' as col1,'DEF' as col2 FROM DUMMY
UNION ALL
SELECT 'GHI' as col1,'JKL' as col2 FROM DUMMY
) A
WHERE COL1 LIKE 'A%';
我认为你正在尝试类似的事情;
SELECT col1, col2
FROM
(
SELECT col1,col2 FROM DUMMY
UNION ALL
SELECT col1,col2 FROM DUMMY2
) A
WHERE col1 LIKE 'A%';
在here
上查看我的另一个示例