问题标签 [merge-statement]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1306 浏览

sql - 包含 NESTED+REPEATED 字段的 BigQuery MERGE 语句

我需要使用经典的平面表在 BigQuery 中执行合并语句,将具有嵌套和重复字段的表作为目标,但我无法理解它应该如何工作。Google 的示例使用直接值,所以这里的语法对我来说不是很清楚。

使用这个例子:

目标是:

  1. 更新 IdPersona='A',在 Properties 中添加一个新元素并更改 Status
  2. 更新 IdPersona='B',更新 Properties 中的现有元素
  3. 插入 IdPersona='C'

此插入有效:

但我想在 INSERT 子句中构建嵌套/重复字段,因为对于 UPDATE,我还需要(我认为)通过将 TRG 的值与 SRC 进行比较来执行“SELECT AS STRUCT * REPLACE”。这不起作用:

我得到“INSERT 子句不支持相关子查询。”

即使我使用了第一个选项,我也不知道如何在更新中引用 TRG.properties ..

Obv 这是错误的。

在我看来,解决这个问题的一种方法是预先加入 USING 子句中的所有内容,因此在那里进行所有替换,但对于合并语句来说感觉非常错误。

谁能帮我解决这个问题,好吗?:\

0 投票
1 回答
62 浏览

sql - Hash_md5() 在 Exasol 中合并时不起作用

我正在尝试基于 Hash_val 合并和更新目标表。但我得到了错误。 不支持这种合并条件。 下面是代码。

0 投票
1 回答
63 浏览

sql - 如何在没有 MERGE 语句的情况下执行 Update else Insert 操作 win INFORMIX

假设我有两个表 - 源和目标。我正在尝试从源加载目标表,并且仅当目标表中不存在该记录时才应插入该记录,否则应对其进行更新。应考虑所有列进行比较。除了 Merge 语句之外,Informix 中是否还有其他可用选项。

0 投票
2 回答
46 浏览

sql - 如何在合并语句中将插入与从其他表中选择一起使用?

我有这个查询。

如何在合并语句中将插入与从其他表中选择一起使用?

0 投票
0 回答
58 浏览

sql-server - 我正在尝试在存储过程中创建动态合并查询,其中目标是历史表,源是临时表 - SQL Server

我首先将 TABLE_HIST 中的所有列提取到一个变量中,并且我在 INSERT 语句中使用了该变量。这样好吗?然后在值中,我从源表中获取所有值并同时获取 TABLE_HIST 中其他两列的时间戳。你认为这会奏效吗?

0 投票
1 回答
31 浏览

sql - 如何在 Oracle SQL Server 中使用 if 和 else 条件更新两个不同的表?

这是我需要转换为过程的查询。

上面的合并语句需要转换成下面的 PL/SQL 格式:

我对更新两个表感到困惑,因为当满足条件时我需要一个不同的表,否则我会得到 DUAL 表,并且会进行适当的更新。

请指导我如何进行并完成此任务。

0 投票
1 回答
138 浏览

sql - SNOWFLAKE 数据库中关于主键错误的合并语句

我对必须在我的场景中编写合并语句以将数据从表加载到维度表和事实表的方式感到困惑。

下面是合并语句,我试图将数据从 JSON 表加载到我的 DIM 产品表中,但我正在加载 NULL 值。

我在合并时做错了什么吗?我不应该在主键上合并,而是在城市名等字段上合并

我在尝试将数据加载到事实表时遇到了同样的问题

有人可以帮忙吗?

下面是现有维度产品表

在此处输入图像描述

下面是我尝试将新记录Mango合并并插入到我的 DIM 表中并将PRODUCTID填充到我的事实表中的示例 JSON

在此处输入图像描述

下面是事实表

在此处输入图像描述