两表相应数据的hsql的更新语句

问题描述

实体类A有id,name,age,class,grade四个属性实体类B有id,name,age,class,point四个属性如何通过hsql语句使得name相同、age相同、class相同的point = grade例如: A有两个实体为: id1,name1,age1,class1,grade1 id2,name2,age2,class2,grade2 B有三个实体为: id3,name1,age1,class1,point1 id4,name2,age2,class2,point2 id5,name2,age2,class2,point3执行hsql语句后,B的记录变为: id3,name1,age1,class1,grade1 id4,name2,age2,class2,grade2 id5,name2,age2,class2,grade2这条hsql语句该怎么写呀?

解决方案

建议处理方法:B和A(注意是B和A,不是A和B)按照name、age和class进行左连接得到C(B.*,A.grade),然后用C表的数据(where grade is not null)更新B表。当然你说的是hsql,不过也可以在hibernate里面执行纯sql的。
解决方案二:
UPDATE B SET columnA=A.columnA FROM B left join A ON B.id=A.id AND B.name=A.name AND B.columnA<>A.columnA;根据这个格式改改吧。

时间: 2024-08-03 09:55:55

两表相应数据的hsql的更新语句的相关文章

sql 两表之间数据备份复制的sql语句

SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中. SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档. SQL SELECT INTO 语法 您可以把所有的列插入新表: SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename > create table employee( 2>     ID          int, 3>     name       

两台SqlServer数据同步解决方案

server|sqlserver|解决|数据|数据同步 前些天遇到特殊需求,两台SqlServer服务器天隔一方,需要实效性很高的数据同步.     大家知道通过internet网,要高准确性和高实效性的实现两台数据库数据同步是个棘手的问题.     网络上找了些资料,有一篇文章可供参考http://www.sxsoft.com/technology_test/show_news.asp?id=450,文章中介绍了Sqlserver的出版和订阅方法来同步数据.根据文章做了下试验,是可以的,有以下

百度统计中百度收录数据改为每天更新一次的价值

昨天把自己管理的几个网站的社会化分享工具全部换成了baidushare,流量统计工具也全部换成了百度统计,一来是因为使用同一种统计工具,在查看流量时比较方便;二来是因为个人一直认为使用百度旗下的东西对于提高百度对于网站的友好性是有帮助的.就算是没有帮助,百度统计工具中的SEO建议.搜索词排名.百度收录量查询等独一无二的工具也是非常有用的.可能有人会反驳我说,百度收录量查询自己site一下就可以了,怎么能说是独一无二的呢,但事实上,这里所说的是百度宣称的真实的收录量,这个数据除了百度,任何其他的查

PB数据窗口多表更新的实现

PowerBuilder的数据窗口对象是其特有的智能对象,其封装性好.功能强大.表现形式丰富多样,为此,许多MIS开发人员对PowerBuilder推崇备至,将其视为首选开发工具. 一般情况下,一个数据窗口只能更新一个数据库表,但在MIS开发过程中,我们经常遇到这种情况:一个数据窗口中由两个或更多个数据库表作为数据源,并需要对其进行录入或修改,如何给出多表更新的通用解决方案就成为MIS开发人员不容回避的问题.笔者在某管理信息系统的开发过程中,尝试了几种双表更新的解决方法,选出一种比较好的方案,以

复制数据库表中两个字段数据的SQL语句

复制数据库表中两个字段数据的SQL语句 今天为表新添加一个字段,但又想与表中的另一个字段值相同,由于数据过多想通过sql语句实现,经测试下面的这句话确实很好用.   复制代码 代码如下: update jb51_temp set B=A jb51_temp 代表表明 A是有数值的字段,B是新添加的字段 ,记住空值表放到前面,如果set a=b,那么你的数值都为空了,就麻烦了,建议操作前备份数据库. 如何将一个字段里的值复制添加到另一个字段中 比如,有二个字段A和B,A字段是值是"我",

框架设计:实现数据的按需更新与插入的改进

首先感谢dudu发了这么一篇:博客园现代化建设-准备用Entity Framework实现数据的按需更新   在帖子的第十六楼,我留下了这样的留言: 路过秋天: 这是一个复杂又冲突的设计问题: 1:为了按需要更新,你必不可免的需要有一份数据在内在的. 正如说没有缓存时,你需要多进行一次查询,无论是单个的查询,还是多更新几个字段,这个的性能点达到你需要这样处理的程度? 2:好,假设有已有缓存还没过期,你可以减少一次的查询,得到内在的实例的数据来进行比较,通过比较来更改isChanged标识,然后感

2017年,这两个大数据岗位一定会火!

讨论哪个大数据岗位会火之前,我们先来简单的分析一下大数据领域的行情,这里重点说一下当前的情况. 2016年,互联网行业遇到了资本寒冬,抛开大公司不说,一些中小型的公司不断的缩减预算,因为很难融到钱. 但是从大数据这个角度出发去看的话,会发现即使其他类型的技术岗位行情不太好,但大数据领域一直还是不错的,这一方面国内大数据政策推动的原因,另一方面是中小型的公司想拿到钱那必须有可谈的技术故事,是的,那就是数据,或者说数据驱动. 所以,不管怎么说,17年,整体大数据领域的整体市场需求还是偏良性的(相对于

MySQL实现两张表数据的同步_Mysql

mysql通过触发器实现两个表的同步,需要了解的朋友可以看一下. 有两张表A和B,要求往A里面插入一条记录的同时要向B里面也插入一条记录,向B里面插入一条记录的同时也向A插入一条记录.两张表的结构不同,需要将其中几个字段对应起来.可以用下面的触发器实现. 表A的触发器: begin set @disable=1; if @disable=1 and NOT EXISTS(SELECT 1 FROM tableB where ID=new.ID) then insert into tableB (

复制数据库表中两个字段数据的SQL语句_数据库其它

复制数据库表中两个字段数据的SQL语句 今天为表新添加一个字段,但又想与表中的另一个字段值相同,由于数据过多想通过sql语句实现,经测试下面的这句话确实很好用. 复制代码 代码如下: update jb51_temp set B=A jb51_temp 代表表明 A是有数值的字段,B是新添加的字段 ,记住空值表放到前面,如果set a=b,那么你的数值都为空了,就麻烦了,建议操作前备份数据库. 如何将一个字段里的值复制添加到另一个字段中 比如,有二个字段A和B,A字段是值是"我",B字