hql多表连接的查询

问题描述

前提,配置文件不让设置关联在两张表里面selecta.*,b.downcountfrom(select*fromcsl_content_detailwherecslno=?)asaleftjoin(selectsum(downcount)asdowncountfromcsl_contentdowncount_logwherecslno=?groupbydowncount)bwherea.cttid=b.cttid这里面关联了两张表,影射到HQL这么影射

解决方案

解决方案二:
不设关联,还是用JDBC直接吧,要是遇到2000多字的SQL,用HQL不累死啊。
解决方案三:
这种关联hql实现太麻烦了因为hql是基于对象操作的那么你要用leftjoin这个关联模式的话那么你关联的表所对应的映射文件中需要建立对应关系可能是manytoone这种才能再进行下一步的操作建议楼主不要去想怎么去用hql去实现了hibernate不是支持sql文执行的直接执行你这个方法不久行了得到list中放的就是一个object数据这样可以很快解决这个问题hql是基于数据库表建立的映射文件的pojo对象进行操作的一般用到join这种关联方式的在映射文件中都有配置的
解决方案四:
selecta,sum(a.Bdao.downcount)as_downcountfromAdaoasawherea.cslno=?anda.Bdao.cttid=a.cttidgroupby_downcount大概就是这样,没测试过不保证能用,关键不是在hql上,而是在你的配置文件,和DAO的的实现上。cslno应该是一个关键字,那么你查出的A中就应该包含B的对象,那么就当一个表直接加条件就行了。问题是你要的返回值类型并不是标准的DAO,你需要自定义返回值类型。建议你不要使用hql,用CriteriaQueries条件查询,更灵活一些。因为配置文件一旦关联再想改回来就麻烦了,具体的条件查询使用方法就不多说了。

时间: 2024-07-30 02:29:33

hql多表连接的查询的相关文章

hibernate-hql多表连接的查询语句

问题描述 hql多表连接的查询语句 现在我的数据库里有两张表tbplayer和tbpychar,用hibernate映射的实体类类名是TbPlayer和TbPyChar,现在我想在dao层中用hql语句进行查询,通过两张表里都有的psn字段将两张表连接起来,然后通过tbplayer表中的nickname字段进行查询,请问这个hql语句怎么写,求大神帮忙!!! 解决方案 hql 多表连接查询Hibernate常用查询语句(hql)

关于vb.net中针对sqlserver数据库的多表连接分页查询,那位高手帮帮忙,谢谢、

问题描述 关于vb.net中针对sqlserver数据库的多表连接分页查询 解决方案 解决方案二:多表查询只要sql文里select字段from表1,表2...表nwhere关联条件至于分页,可以把检索出来的结果集放到程序里,控制显示行数,并记录页数,换页时计算一下需要显示那些行解决方案三:分页跟查询好像没什么关系吧解决方案四:你是WINFORM还是ASP.NET阿?分页查询我推荐在Sqlserver里写存储过程.如果不会写存储过程的话,vb.net的分页有几种办法:1设定一个DATAGRID或

Entity Framework 实现多表连接模糊查询

问题描述 在EntityFramework怎么实现多表连接模糊查询,我在查询的时候在后台是拼接的SQL然后再怎么操作啊?代码如下StringBuilderstrSql=newStringBuilder("selectDraftInfo.Id,DraftInfo.typeId,DraftInfo.title,DraftInfo.Contant,DraftInfo.MainWords,DraftInfo.DraftStartDate,DraftInfo.status,TypeInfo.TypeNam

javaee-java菜鸟请问下,两个数据表连接查询问题

问题描述 java菜鸟请问下,两个数据表连接查询问题 hql="select t.id,t.name,p.lname,t.beizhu,t.human,t.city,t.lrr,t.lrtime,t.modtime,t.address from CrmCustomer t, CrmCustomerLxr p where t.tend='已成单' and p.lname like '%" + lname + "%' and t.id=p.customerid "; S

Oracle数据库入门之多表连接与子查询

Oracle表连接 概述:SQL/Oracle使用表连接从多个表中查询数据 格式:select 字段列表 from table1,table2 where table1.column1=table2.column2; 说明:当被连接的多个表中存在同名字段时,必须在该字段前加上"table."作为前缀 如果没有限定where连接条件,否则就会出现笛卡尔集的不现实或没有实用意义的结果 举例:select empno, ename, sal, emp.deptno, dname, loc f

关联数据表查询,不用表连接,不建立外键,如何查询出来

问题描述 关联数据表查询,不用表连接,不建立外键,如何查询出来 查询两个有关联的数据表,一个表是cate分类表,另一个是game游戏表,分类表的id=game表的cate_id 不用表连接,不建立外键,怎么将game表的数据和cate表的数据一一对应查出来.求答 解决方案 select game.*(select cate_name from cate where 分类表的id=game.cate_id) as 分类名 from game

android使用ormLite,多表连接查询

问题描述 android使用ormLite,多表连接查询 解决方案

代码-linq多表连接查询速度很慢,但我在数据库查询分析器中却是秒查,请各位大侠帮我分析下

问题描述 linq多表连接查询速度很慢,但我在数据库查询分析器中却是秒查,请各位大侠帮我分析下 with temp as ( select (case when SHIFTSCHEDULEID is null then (case when TICKET_SELL_TYPE=2 then (select COMPANY_ID from TBL_YD_SHIFT where SHIFTNUMBER= (select SHIFTNUMBER from TBL_SP_TICKET where tick

SQL为王:oracle标量子查询和表连接改写

小鱼(邓秋爽) 云和恩墨专家,有超过5年超大型数据库专业服务经验,擅长oracle 数据库优化.SQL优化和troubleshooting 编辑手记:如何提高数据的查询效率是每个人都关注的问题,今天让我们来学习如何合理使用标量子查询和表连接方式来提高查询速度吧~ 之前小鱼就听过了标量子查询,不过对于其中的细节理解还是远远不够,借助一部分资料和自己测试对标量子查询做一点简单的分析和介绍. Oracle允许在select子句中包含单行子查询,这个也就是oracle的标量子查询,标量子查询有点类似于外