当前位置: 首页 > 知识库问答 >
问题:

同一表上多个selectHibernate条件

燕正卿
2023-03-14

我有一个案例,需要找出不同版本的表的同一字段之间的差异。

例如:
我有一个名为BankAccount的表,其字段如下

编号、余额、日期等。

现在我想要实现的基本上是在这个表上针对两个不同的日期运行一个select,并找出日期1和日期2的balance字段值之间的差异。

更像:a.balance-b.balance as balance_difference

我知道,我可以使用其中一个作为分离条件来运行两个选择,这样我至少可以得到两个日期之间的公共记录。我的问题是发现差异和使用“别名”的标准,因为我从来没有这样做过,也没有能够理解或收集到很多从其他网上来源。
非常感谢任何帮助,并提前感谢所有人。

共有1个答案

姬正文
2023-03-14

根据我的理解,您想要实现的是HQL类似于以下内容

select (coalesce(case when a.date=?1 and a.account_no=?3 then a.balance end), 0) - coalesce(case when a.date=?2 and a.account_no=?3 then a.balance end), 0) AS balance_difference from BankAccount a
 类似资料:
  • 问题内容: 我正在寻找一种“更好”的方式来执行查询,在该查询中,我想向单个玩家显示他之前玩过的游戏以及与每个此类对手相关的获胜记录。 以下是涉及的表格,精简如下: 因此,约翰对玛丽的战绩是2胜1负。vs鲍勃1胜0负; 和爱丽丝的3胜2负。 我正在使用Postgres 9.4。我脑海中有些东西告诉我要考虑一下,但是我很难理解这样的“形状”。 以下是我当前正在使用的查询,但是有些“感觉不到”。请帮助我

  • 我想代表其他列条件以不同的顺序排列我的列。 有一张桌子看起来像这样: 如果状态为1,则按日期ASC排序,状态为0按日期DESC排序 寻找以下结果 有没有办法点这个。哪儿也找不到 谢谢

  • 问题内容: 我有这个数据库存储传感器采集数据, 采集(acq)来自不同控制单元(cu)的固定间隔(日期时间) 每个采集在数据表中存储了许多不同的度量 我需要这种观点: 作为: v1是data.value(例如湿度),其中 acq.id_cu = 1 AND data.id_meas = 100 v2是data.value(例如计数器),其中 acq.id_cu = 2 AND data.id_me

  • 我正在尝试编写一个简单的应用程序,其中包含一个跟踪每个用户支付的款项的表和一个包含每个用户支付的总金额(所有付款的总和)的第二个表。目前,两个表都有相同的字段(firstName、lastName、金额),我已经将它们从同一个Java类映射到多个表,我无法将该类映射到多个表。对此有什么简单的解决方案吗?

  • 问题内容: 好的,我想我可能会忽略一些显而易见的/简单的事情…但是我需要编写一个查询,该查询仅返回与同一列上的多个条件匹配的记录… 我的表是一个非常简单的链接设置,用于将标志应用于用户… 等等…在这种情况下,您会看到联系人99和100都被标记为“志愿者”和“已上传” … 我需要做的是返回仅与通过搜索表单输入的多个条件相匹配的那些contactid … contactid必须与所有选择的标志匹配…在

  • 好吧,我想我可能忽略了一些明显的/简单的事情...但我需要编写一个查询,该查询只返回同一列上符合多个条件的记录... 我的表是一个非常简单的链接设置,用于向用户应用标志... 等等。在这种情况下,您将看到联系人99和100都被标记为“志愿”和“上载”。 我需要能够做的是返回那些联系人ID只匹配通过搜索表单输入的多个条件...联系人ID必须匹配所有选择的标志...在我看来,SQL应该类似于: 但是.