【发布时间】:2021-07-19 13:13:54
【问题描述】:
我有一个字符串元素,例如:
"(1111, Tem1), (0000, Tem2)"并希望生成数据表如
| var1 | var2 |
|---|---|
| 1111 | Tem1 |
| 0000 | Tem2 |
这是我的代码,我创建了滞后 token 并使用奇数行元素进行过滤。
with var_ as (
select '(1111, Tem1), (0000, Tem2)' as pattern_
)
select tbb1.*, tbb2.result_string as result_string_previous
from(
select tb1.*,
min(token) over(partition by 1 order by token asc rows between 1 preceding and 1 preceding) as min_token
from
table (
strtok_split_to_table(1, var_.pattern_, '(), ')
returns (outkey INTEGER, token INTEGER, result_string varchar(20))
) as tb1) tbb1
inner join (select min_token, result_string from tbb1) tbb2
on tbb1.token = tbb2.min_token
where (token mod 2) = 0;
但似乎我无法在“from”步骤中生成新变量并直接在“join”步骤中应用它。 所以我想问在我的程序中是否仍然可以得到我想要的结果?或者有什么建议吗?
感谢您的所有帮助。
【问题讨论】: