精华内容
下载资源
问答
  • oracle union联合查询排序方式

    千次阅读 2012-09-14 17:46:44
    在用union联合查询排序时遇到了以下异常: org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select a.table_name as tableName,a.flow_name as flowName, a.action...

    在用union联合查询排序时遇到了以下异常:

    org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select a.table_name as tableName,a.flow_name as flowName, a.action_name as actionName,a.field_name as fieldName,a.field_title as fieldTitle, a.field_right as fieldRight,a.action_right_guid as guid,a.table_title as tableTitle  from fwt_action_right a  where a.table_name=?  and flow_name=?  and action_name=?  union  select b.table_name as tableName,'' as flowName,'' as actionName, b.field_name as fieldName,b.field_title as fieldTitle,'' as  fieldRight,'' as guid,'' as tableTitle  from adam_field_info b  where b.table_name=?  and b.field_name not in  (select field_name from fwt_action_right a where table_name=? and flow_name=? and action_name=? ) order by a.fieldName asc ]; nested exception is java.sql.SQLException: ORA-00904: "A"."FIELDNAME": 标识符无效
    
    	at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:276)
    	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607)
    	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:641)
    	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:670)
    	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:678)
    	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:710)
    	at org.springframework.jdbc.core.JdbcTemplate.queryForList(JdbcTemplate.java:776)
    	at adam.bp.workflow.dao.engine.FlowRightConfigDao.getFwtActionRights(FlowRightConfigDao.java:85)
    	at adam.bp.workflow.dao.engine.FlowRightConfigDao$$FastClassByCGLIB$$431cc304.invoke(<generated>)
    	at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
    	at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    	at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
    	at adam.bp.workflow.dao.engine.FlowRightConfigDao$$EnhancerByCGLIB$$667558de.getFwtActionRights(<generated>)
    	at adam.bp.workflow.biz.engine.FlowRightConfigBiz.getFwtActionRights(FlowRightConfigBiz.java:38)
    	at adam.bp.workflow.action.engine.FlowRightConfigAction.showFlowRightConfigPage(FlowRightConfigAction.java:79)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
    	at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
    	at org.apache.struts.actions.MappingDispatchAction.execute(MappingDispatchAction.java:166)
    	at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
    	at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
    	at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
    	at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
    	at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
    	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
    	at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    	at adam.bp.workflow.filter.LoginFilter.doFilter(LoginFilter.java:66)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    	at com.adam.dev.utils.EncoderFilter.doFilter(EncoderFilter.java:37)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    	at java.lang.Thread.run(Thread.java:534)
    Caused by: java.sql.SQLException: ORA-00904: "A"."FIELDNAME": 标识符无效
    
    	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    	at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
    	at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
    	at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
    	at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:830)
    	at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2391)
    	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672)
    	at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
    	at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:527)
    	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
    	at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:648)
    	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)

    解决方式:

    修改sql的排序字段:

    1. 建议大家都给联合查询出来相对应的列取相同的别名,这样便可以通过别名进行排序

     String sql = "select a.table_name as tableName,a.flow_name as flowName," +
                    " a.action_name as actionName,a.field_name as fieldName,a.field_title as fieldTitle," +
                    " a.field_right as fieldRight,a.action_right_guid as guid,a.table_title as tableTitle " +
                    " from fwt_action_right a " +
                    " where a.table_name=? " +
                    " and flow_name=? " +
                    " and action_name=? " +
                    " union " +
                    " select b.table_name as tableName,'' as flowName,'' as actionName," +
                    " b.field_name as fieldName,b.field_title as fieldTitle,'' as  fieldRight,'' as guid,'' as tableTitle " +
                    " from adam_field_info b " +
                    " where b.table_name=? " +
                    " and b.field_name not in " +
                    " (select field_name from fwt_action_right a where table_name=? and flow_name=? and action_name=? )" +
    		" order by fieldName asc ";//利用列别名排序

    2. 通过列的序号排序

     String sql = "select a.table_name as tableName,a.flow_name as flowName," +
                    " a.action_name as actionName,a.field_name as fieldName,a.field_title as fieldTitle," +
                    " a.field_right as fieldRight,a.action_right_guid as guid,a.table_title as tableTitle " +
                    " from fwt_action_right a " +
                    " where a.table_name=? " +
                    " and flow_name=? " +
                    " and action_name=? " +
                    " union " +
                    " select b.table_name as tableName,'' as flowName,'' as actionName," +
                    " b.field_name as fieldName,b.field_title as fieldTitle,'' as  fieldRight,'' as guid,'' as tableTitle " +
                    " from adam_field_info b " +
                    " where b.table_name=? " +
                    " and b.field_name not in " +
                    " (select field_name from fwt_action_right a where table_name=? and flow_name=? and action_name=? )" +
            	" order by 5 asc ";//union情况下利用列号排序

    展开全文
  • rails 联合查询排序

    2018-01-11 15:24:02
    在控制器中:联合查询 符合名称以及关联表名的文章@Articles = Article.join(:article_tags).where(“name =?OR article_tags.name =?”,“#{query}”,“#{query}”)联合排序(降序)Article.joins(:...

    在控制器中:

    联合查询 

    符合名称以及关联表名的文章

    @Articles = Article.join(:article_tags).where(“name =?OR article_tags.name =?”,“#{query}”,“#{query}”)


    联合排序(降序)

    Article.joins(:article_tags).order(“article_tags.name desc”)


    或者

    Article.includes(:article_tags).order(“article_tags.name desc”)



    展开全文
  • MYSQL多表联合查询&&排序

    千次阅读 2018-12-08 17:15:54
    主要思想:先联合查询数据,再对查询结果按照某标签进行排序 code: String sql = "SELECT * FROM (SELECT task.idTask,task.task_name,task.author,task.effort,task.ToF,users.name,task_union_users.idUser...

    主要思想:先联合查询数据,再对查询结果按照某标签进行排序
    code:

       String sql = "SELECT * FROM (SELECT task.idTask,task.task_name,task.author,task.effort,task.ToF,users.name,task_union_users.idUser"
         + " FROM task_union_users "
         + "join task on task_union_users.idTask=task.idTask "
         + "join users on task_union_users.idUser=users.student_id "
         + "WHERE users.student_id="+student_id
         +")AS a ORDER BY idTask DESC(或者ASC)";
         
    

    注意事项:末尾一定要用AS a(一个量)!否则会执行失败

    展开全文
  • 解决Mysql数据库实现多表联合查询并按照其中一个字段进行排序问题

    大家在做项目时经常会遇到按照其中一个字段排序展示数据库中的信息问题,但是要展示的数据又在不同的表中。这种情况下就要用到表之间的联合查询

    例如:有一个表user_t 其中有user_name; user_age; add_time等字段字段;

                另外一个student_t其中有student_name; student_age; add_time等字段

    问题:如何按照时间顺序展示这两个表中的数据?

    解决方法:

            select  user_name  as  name,  user_age  as age ,add_time  as  time  from  user_t 

            union

            select  student_name as  name,  student_age as age ,add_time  as  time  from  user_t  

            order  by  time  desc(asc);


    若有更多的表需要关联,按照同样的方法写就ok了。

           


    展开全文
  • VC6.0 对联合查询后的结果进行排序,对获得的记录集进行排序,这是个同样实用的功能,特别在一些中小企业的数据库系统中,尤其实用,对数据分析很有帮助。本例子中的排序主要是两种常用形式:升序排列和降序排列。...
  • 去重9.+号的作用1.4 测试进阶2:条件查询2.1 语法2.2 分类2.3 基础练习2.3.1 按条件表达式筛选2.3.2 按逻辑表达式筛选2.3.3 模糊查询进阶3:排序查询3.1 语法:3.2 特点:3.3 基础练习1、按单个字段排序2、添加筛选...
  • mysql中联合索引排序的问题

    千次阅读 2019-12-30 19:04:36
    在test数据库中,查询一组数据会根据id进行排序,而同样的条件在pre数据库中查询却没有根据默认的id主键来排序,于是激起了好奇心。 情况 正常情况下,在默认没有写order by条件的情况下,查询出来的结果会根据...
  • 在laravel利用联合查询时两个数据表按照某一字段排序 在项目中需要把两个表的数据按照时间进行排序,需要利用mysql的两个查询 代码: $tourist = Tourist::query() -&amp;gt;select('id', 'name as customer_...
  • 有一张资金记录表,一张金币记录表,想以时间为单位,降序合并排列他们之间的信息,查询SQL如下:select * from (select * from t_money_logs union select * from t_gold_logs) as c order by create_time desc;...
  • 【MySQL】多表联合查询、连接查询、子查询

    万次阅读 多人点赞 2019-06-03 17:08:20
    文章目录 【1】连接查询 内连接查询 外连接查询 左连接 右连接 【2】联合查询 【3】子查询 带in关键字的子查询 带比较运算符的子查询 带exists的子查询 带any关键字的子查询 带all关键字的子查询 【1】连接查询 连接...
  • 联合查询 union

    2018-10-13 12:39:16
    联合查询 基本概念 联合查询是可合并多个相似的选择查询的结果集。等同于将一个表追加到另一个表,从而实现将两个表的查询组合到一起,使用谓词为UNION或UNION ALL。 联合查询:将多个查询的结果合并到一起(纵向...
  • 首先在有联合查询的界面的load事件里面 实例化一个DataSet,然后将后台查询出来的DataSet赋值给这个DataSet,然后在给这个datagridview赋值的时候,赋值的数据源是这个DataSet,然后在用户查询的时候,判断根据用户...
  • 一、多表联合查询 通过连接可以建立多表查询,多表查询的数据可以来自多个表,但是表之间必须有适当的连接条件。为了从多张表中查询,必须识别连接多张表的公共列。一般是在WHERE子句中用比较运算符指明连接的条件...
  • 多表联合查询

    2012-09-16 21:46:59
    多表联合查询的Hibernate应用
  • Orcle高级查询 基本查询 ...联合语句 union 查询 union all 查询 intersect 查询 minus 查询 联接查询 等值联接 不等值联接 内连接 外联接 左联接 右连接 完全连接 自连接 层次化查询 ...
  • 一、order by 语句排序 order by是按照字段值进行排序的,排序分为升序和降序即:asc和desc是由校对规则决定排序关系的。 也就是说order by 先根据第一个字段排序,然后在第一个字段排序的基础之上再根据第二个...
  • <!-- @page ...因为常规的hibernate中,使用HQL语句进行多表联合查询,然后分页和排序没有效果,如: Queryquery = session .createQuery("fromUser as u left join fetch u.customers where u
  • MySQL(5) union联合查询

    2018-09-22 16:10:17
    UNION联合查询:指把多个SELECT查询结果集合到一起。 为什么需要UNION联合查询?? ===》多个查询结果需要汇集到一个结果集里面。 应用场景: ①多个表的查询结果合并。 ②一个表的按照不同的排序方案查询合并。 ...
  • 在项目中,多表联合查询是最常见的情景之一,在多表联合查询同时进行分页查询时,可能会出现查询结果条数不正确的情况或者说查询结果有遗漏的情况。针对这种问题,本文将探讨其解决方案。 解决办法为使用子查询的...
  • 史上最简单的 MySQL 教程(三十)「联合查询

    千次阅读 多人点赞 2017-08-26 21:41:19
    联合查询:union,将多次查询(多条select语句)的结果,在字段数相同的情况下,在记录的层次上进行拼接。 基本语法 联合查询由多条select语句构成,每条select语句获取的字段数相同,但与字段类型无关。 基本...
  • 子查询、联合查询和连接查询

    千次阅读 2018-04-11 23:43:19
    1.子查询 查询中嵌套查询。如 select * from ( select CName,CId from TblClass union ...联合查询 将多个结果集合并成一个结果集,前提是列数相同,并且相应的列的类型相同。判断标准以第一个表的结果集为准...
  • 1、定义条件容器 import org.springframework.data.jpa.domain.Specification; import javax.persistence.criteria.*; import java.util.ArrayList;... * 定义一个查询条件容器 * Created by gzs ...
  • mysql联合查询分析及优化

    千次阅读 2016-05-11 11:36:12
    最近在做报表,跟数据库打交道的比较多,所以特意来总结一下mysql的联合查询; 查询常用的字句  where(条件查询)、having(筛选)、group by(分组)、order by(排序)、limit(分页)、USING(取交集) 1、where...
  • tp5多表联合查询及带分页显示

    千次阅读 2019-01-12 22:43:00
    1. 以主表article查询,起别名a,,联合表art_category,起别名c,条件是id等同,用join field查询需要的字段, ... // 多表联合查询 $data = Db::name('article') -&gt;alias('a') -&gt;join...
  • 数据库查询设定两张数据库表 第一个表格user包含: user_id username age sex 1 Alps1992 22 man第二个表格toy包含 user_id toyname 1 OnePiece 普通查询查询关键字:AS, SUM, DESC, GROUP BY, ORDER ...
  • 对指定列进行排序 单列排序要素(order_by_list按该列排序) select col_list form ...例如:查询分数表中编号为1的所有分数信息,并按照分数升序排序 select * form scores where gno=1 order by score asc
  • SQL注入之联合查询注入

    千次阅读 2020-07-11 21:16:15
    MySQL中的联合查询 联合查询是可合并多个相似的选择查询的结果集。等同于将一个表追加到另一个表,从而实现将两个表的查询组合在一起,使用为此为UNINO或UNION ALL 联合查询:将多个查询的结果合并到一起(纵向合并...
  • SQL 多表查询 多表连接基本查询 使用一张以上的表做查询就是... ORDER BY 排序字段 ASC | DESC .. .} 范例:查询员工表和部门表 员工表 部门表 查询员工表和部门表 我们发现产生的记录数是 48 条,我们还会...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 73,825
精华内容 29,530
关键字:

联合查询排序