我需要加入一个从程序中动态检索到的动态数字列表。行数不是固定的,使用的数字也不是固定的。
我找不到比以下更好的方法来实现这一点(就我的目的而言,临时表没有什么帮助):
select 111 as col1, 322 as col2 from dual
union all
select 3 as col1, 14 as col2 from dual
union all
select 56 as col1, 676 as col2 from dual;有没有更好的方法来做这件事?我看到有一个connect by语句可以返回多行,但是我没有看到一种方法可以返回多行和多列。
发布于 2016-05-02 14:55:19
您可以使用解码并按级别连接:
select decode(rownum, 1, 111, 2, 3, 3, 56) as col1,
decode(rownum, 1, 322, 2, 14, 3, 676) as col2
from dual
connect by level <= 3;发布于 2015-01-29 05:41:28
SELECT Level * 2 - 1 AS col1, Level * 2 AS col2
FROM DUAL
CONNECT BY LEVEL <= 3;这将为您提供三行的示例。调整LEVEL <= ...值以获得更多行。
https://stackoverflow.com/questions/28202851
复制相似问题