如何将新的值插入桌子中,然后继续使用我的CTE(雪花)

发布于 2025-02-11 05:39:34 字数 705 浏览 1 评论 0原文

我的CTE看起来像:

WITH COLS AS (
  SELECT VALUE AS COL FROM ET1 LIMIT 1
),
RAW_COLS_ORDER AS (
  SELECT TRY_CAST(SUBSTR(KEY, 2) AS NUMBER) AS COL_POS, VALUE --remove the c from the column aftersplitting the json
  FROM (
      SELECT KEY, VALUE::TEXT AS value
           FROM COLS, TABLE(FLATTEN (INPUT => COLS.COL))
    ) 
  ORDER BY COL_POS ASC
),

RAW_POS AS (
  SELECT (COL_POS + 3) AS COL_POSITION, VALUE 
  FROM RAW_COLS_ORDER
)
SELECT * FROM RAW_POS;

我想将新行插入我的临时表raw_cols_order,其中有两个列“ col_pos”和“ value”,col_pos值为125,值为125 “姓名”。我不确定如何在RAW_COLS_ORDER表中添加新行,并继续使用上一个表创建RAW_POS表。有没有办法在不破坏CTE的情况下做到这一点?我必须使用Union吗? (也在RAW_POS表上我还有更多的临时表)

I have CTE that looks like:

WITH COLS AS (
  SELECT VALUE AS COL FROM ET1 LIMIT 1
),
RAW_COLS_ORDER AS (
  SELECT TRY_CAST(SUBSTR(KEY, 2) AS NUMBER) AS COL_POS, VALUE --remove the c from the column aftersplitting the json
  FROM (
      SELECT KEY, VALUE::TEXT AS value
           FROM COLS, TABLE(FLATTEN (INPUT => COLS.COL))
    ) 
  ORDER BY COL_POS ASC
),

RAW_POS AS (
  SELECT (COL_POS + 3) AS COL_POSITION, VALUE 
  FROM RAW_COLS_ORDER
)
SELECT * FROM RAW_POS;

I want to insert a new row into my temporary table RAW_COLS_ORDERwhich has two columns "COL_POS" and "VALUE" with the value FOR COL_POS being 125 and the value for VALUE being "name". I am not sure how to add a new row to the RAW_COLS_ORDER table and continue on with creating the RAW_POS table using the previous tables. Is there a way I can do this without breaking the CTE? Would I have to use a UNION? (Also I have more temp tables building on the RAW_POS table)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文