我目前正在编写更新语句,以使可查询表保持最新状态。这两个表之间的架构相同,内容也不重要:
STAGING
ID
NAME
COUNT
PRODUCTION
ID
NAME
COUNT
我的更新语句如下所示:
update PRODUCTION
set name = (select stage.name from staging stage where stage.name=name and rownum <2),
count = (select stage.countfrom staging stage where stage.count=count and rownum <2);
需要注意的两件事是:1)更新结束时没有where子句(这可能是问题所在); 2)更新后的所有记录都具有相同的值。我的意思是:
BEFORE UPDATE:
1,"JOHN", 12;
2,"STEVE",15;
3,"BETTY",2;
AFTER UPDATE
1,"JOHN", 12;
2,"JOHN",12;
3,"JOHN",12;
我的问题是如何解决此问题,以使表正确地将登台的“新”数据反映为正确的SQL更新?
更新
因此,我的登台数据可以恰好反映了其中的内容,PRODUCTION
为了便于讨论,它将:
STAGING DATA TO MERGE:
1,"JOHN", 12;
2,"STEVE",15;
3,"BETTY",2;
更新第二个
我想运行的查询是这样的:
update PRODUCTION
set production.name = staging.name,
production.count = staging.count
where production.name = staging.name;
但是,这会导致在“ staging.name”上出现无效的标识符问题
有两种方法可以做您要尝试的事情
一个是多列相关更新
UPDATE PRODUCTION a
SET (name, count) = (
SELECT name, count
FROM STAGING b
WHERE a.ID = b.ID);
演示
您可以使用合并
MERGE INTO PRODUCTION a
USING ( select id, name, count
from STAGING ) b
ON ( a.id = b.id )
WHEN MATCHED THEN
UPDATE SET a.name = b.name,
a.count = b.count
演示
问题内容: 我在SQL中有两个表,并且我需要能够基于早于或等于表A中的时间戳的表B中的时间戳进行联接。 因此,这是两个表和所需输出的一些虚假数据: 结案案例(表A) 分类(表B) 所需结果 因此,我知道代码需要如下所示,我只是想不出该如何处理部分($ 1和$ 2是将要传入的变量): 我知道我可以使用子选择,但这将在至少几千行,甚至可能更多的行上进行,我需要它真的要快。所以我希望有一个简单的子句可以
这是我在SQL Server上的查询: 使用JPA存储库的正确语法是什么? 我试过这个: 并收到此错误: 验证失败,无法查询方法 public abstract java.lang.Long com.finance.biblioteca.repository.NoleggioRepository.countByUtenteIdAndLibroId(java.lang.Long,java.lang.
问题内容: 我想查询一个mySQL表以提取两次和两次之间的数据。我知道如何使用“ between”调用对单个“ datetime”列执行此操作,但是我的列是一个“ date”列和一个“ time”列。我在网上可以找到的所有解决方案都是针对单个datetime列的。 我的范围从15:30的“ day1”到15:14的day1 + 1day 到目前为止,我可以获得以下范围(有效): 但是我显然需要合并
你好 上面的查询包括: WITH子句-本条款的目的是从2011年至2016年间购买物品的客户中识别不同的。 第一次查询-查询的主要目的是检查上述WITH子句中是否存在任何选定的。此外,该查询还应检查所选的是否与特定的匹配,并在名为的列中将其标记为 第二次查询-此查询执行的操作与第一次查询几乎相同。唯一的区别是,它在名为“DRIVE_TYPE”的列中将标记为 您可能已经注意到,在这两个查询中,都有一
我的桌子有这样的结构 如何在mysql中获取上述数据的两个日期之间的事件(日期比较与年份无关)。例如,如果start_date是2014-05-01,结束日期是2014-05-20,则输出应该是 更新:如果同一个人的结婚日期和出生日期都在提供的日期范围内,则输出应包含该人的两列 (抱歉我的英语不好)
问题内容: 我有和桌子。 询问: 返回474条记录 对于这些记录,我想添加的表成的表。 示例 :如果对于第一条记录,客户的id是9 ,地址的也是9,那么我想在地址表的cid列中插入9。 我试过了: 但这似乎不起作用。 问题答案: 这是Postgres UPDATE JOIN格式: 这是其他变体:http : //mssql-to- postgresql.blogspot.com/2007/12/u