sqlexception:当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。...

本文解释了SQL子查询中常见的SQLEXCEPTION错误:当没有使用EXISTS引入子查询时,在选择列表中只能指定一个表达式的原因及解决方案。通过示例对比,清晰地展示了如何修正子查询返回多个字段值的问题。

sqlexception:当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。

原因:子查询的返回值不是一个字段的值(特别说明:子查询的返回值的个数可以是多个的,但必须是一个字段的),也就是子查询返回的值是多个字段的值的集合,由于子查询和外面查询要的不匹配,所以报出这个错误。

例如:

use pubs;

go;

/*错误的*/

select top 8 * from authors where  au_id not in (select top 8 * from authors order by au_id) order by au_id ;

/*正确的*/

select top 8 * from authors where  au_id not in (select top 8 au_id from authors order by au_id) order by au_id ;

 我相信很明白了,如有不清楚的可以留言。

2025-09-25 16:07:58.933 [reactor-http-nio-2] DEBUG reactor.netty.http.server.HttpServerOperations - [e5cadee8, L:/127.0.0.1:9002 - R:/127.0.0.1:5026] New http connection, requesting read 2025-09-25 16:07:58.933 [reactor-http-nio-2] DEBUG reactor.netty.transport.TransportConfig - [e5cadee8, L:/127.0.0.1:9002 - R:/127.0.0.1:5026] Initialized pipeline DefaultChannelPipeline{(reactor.left.httpCodec = io.netty.handler.codec.http.HttpServerCodec), (reactor.left.httpTrafficHandler = reactor.netty.http.server.HttpTrafficHandler), (reactor.right.reactiveBridge = reactor.netty.channel.ChannelOperationsHandler)} 2025-09-25 16:07:58.992 [reactor-http-nio-2] DEBUG reactor.netty.http.server.HttpServerOperations - [e5cadee8, L:/127.0.0.1:9002 - R:/127.0.0.1:5026] Increasing pending responses, now 1 2025-09-25 16:07:59.048 [reactor-http-nio-2] DEBUG reactor.netty.http.server.HttpServer - [e5cadee8-1, L:/127.0.0.1:9002 - R:/127.0.0.1:5026] Handler is being applied: org.springframework.http.server.reactive.ReactorHttpHandlerAdapter@607ae23f 2025-09-25 16:07:59.185 [reactor-http-nio-2] DEBUG o.s.web.server.adapter.HttpWebHandlerAdapter - [e5cadee8-1] HTTP POST "/asn/main/query" 2025-09-25 16:07:59.270 [reactor-http-nio-2] DEBUG o.s.w.r.r.m.a.RequestMappingHandlerMapping - [e5cadee8-1] Mapped to com.hvlink.controller.AsnMainController#queryPage(AsnParam) 2025-09-25 16:07:59.333 [reactor-http-nio-2] DEBUG o.s.w.r.r.m.a.RequestBodyMethodArgumentResolver - [e5cadee8-1] Content-Type:application/json 2025-09-25 16:07:59.358 [reactor-http-nio-2] DEBUG o.s.w.r.r.m.a.RequestBodyMethodArgumentResolver - [e5cadee8-1] 0..1 [com.hvlink.entity.param.asn.AsnParam] 2025-09-25 16:07:59.438 [reactor-http-nio-2] DEBUG reactor.netty.channel.FluxReceive - [e5cadee8-1, L:/127.0.0.1:9002 - R:/127.0.0.1:5026] [terminated=false, cancelled=false, pending=0, error=null]: subscribing inbound receiver 2025-09-25 16:07:59.535 [reactor-http-nio-2] DEBUG o.s.http.codec.json.Jackson2JsonDecoder - [e5cadee8-1] Decoded [AsnParam(factoryCode=null, factoryName=null, asnNo=null, orderNo=null, partCode=null, partDesc=null, (truncated)...] 2025-09-25 16:07:59.625 [reactor-http-nio-2] DEBUG org.mybatis.spring.SqlSessionUtils - Creating a new SqlSession 2025-09-25 16:07:59.794 [reactor-http-nio-2] DEBUG org.mybatis.spring.SqlSessionUtils - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4433345a] was not registered for synchronization because synchronization is not active 2025-09-25 16:08:00.366 [reactor-http-nio-2] DEBUG o.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource 2025-09-25 16:08:00.366 [reactor-http-nio-2] DEBUG o.m.spring.transaction.SpringManagedTransaction - JDBC Connection [ConnectionID:1 ClientConnectionId: 85cb7de9-a605-41ca-9122-a797226b005d] will not be managed by Spring 2025-09-25 16:08:00.382 [reactor-http-nio-2] DEBUG c.h.mapper.asn.AsnMainMapper.queryAsnPage_mpCount - ==> Preparing: SELECT COUNT(*) FROM (SELECT am.id, am.factory_code, am.warehouse_code, am.shipper_id, am.asn_no, am.status, am.production_batch, am.shipping_date, am.estimated_arrival_date, am.estimated_consumption_time, am.is_first_product, am.is_fully_shipping, am.release_date, am.is_deleted, am.create_user, am.update_user, am.create_time, am.update_time, f.factory_name, w.warehouse_name, s.shipper_name, sup.supplier_code, sup.supplier_name FROM tb_asn_main am LEFT JOIN tm_factory f ON am.factory_code = f.factory_code LEFT JOIN tm_warehouse w ON am.warehouse_code = w.warehouse_code LEFT JOIN tm_shipper s ON am.shipper_id = s.id LEFT JOIN tm_supplier sup ON s.supplier_code = sup.supplier_code WHERE am.is_deleted = 0 GROUP BY am.id ORDER BY am.create_time DESC, am.asn_no DESC) TOTAL 2025-09-25 16:08:00.512 [reactor-http-nio-2] DEBUG c.h.mapper.asn.AsnMainMapper.queryAsnPage_mpCount - ==> Parameters: 2025-09-25 16:08:00.627 [reactor-http-nio-2] DEBUG org.mybatis.spring.SqlSessionUtils - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4433345a] 2025-09-25 16:08:00.702 [reactor-http-nio-2] DEBUG o.s.beans.factory.xml.XmlBeanDefinitionReader - Loaded 11 bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml] 2025-09-25 16:08:00.703 [reactor-http-nio-2] DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'DB2' 2025-09-25 16:08:00.711 [reactor-http-nio-2] DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'Derby' 2025-09-25 16:08:00.712 [reactor-http-nio-2] DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'H2' 2025-09-25 16:08:00.712 [reactor-http-nio-2] DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'HDB' 2025-09-25 16:08:00.714 [reactor-http-nio-2] DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'HSQL' 2025-09-25 16:08:00.714 [reactor-http-nio-2] DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'Informix' 2025-09-25 16:08:00.714 [reactor-http-nio-2] DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'MS-SQL' 2025-09-25 16:08:00.715 [reactor-http-nio-2] DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'MySQL' 2025-09-25 16:08:00.715 [reactor-http-nio-2] DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'Oracle' 2025-09-25 16:08:00.715 [reactor-http-nio-2] DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'PostgreSQL' 2025-09-25 16:08:00.715 [reactor-http-nio-2] DEBUG o.s.b.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'Sybase' 2025-09-25 16:08:00.716 [reactor-http-nio-2] DEBUG o.s.jdbc.support.SQLErrorCodesFactory - Looking up default SQLErrorCodes for DataSource [com.hvlink.config.DataSourceConfig$1@620f171d] 2025-09-25 16:08:00.723 [reactor-http-nio-2] DEBUG o.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource 2025-09-25 16:08:00.726 [reactor-http-nio-2] DEBUG o.s.jdbc.support.SQLErrorCodesFactory - SQL error codes for 'Microsoft SQL Server' found 2025-09-25 16:08:00.726 [reactor-http-nio-2] DEBUG o.s.jdbc.support.SQLErrorCodesFactory - Caching SQL error codes for DataSource [com.hvlink.config.DataSourceConfig$1@620f171d]: database product name is 'Microsoft SQL Server' 2025-09-25 16:08:00.728 [reactor-http-nio-2] DEBUG o.s.j.support.SQLErrorCodeSQLExceptionTranslator - Unable to translate SQLException with Error code '1033', will now try the fallback translator 2025-09-25 16:08:00.729 [reactor-http-nio-2] DEBUG o.s.jdbc.support.SQLStateSQLExceptionTranslator - Extracted SQL state class 'S0' from value 'S0001' 2025-09-25 16:08:00.754 [reactor-http-nio-2] ERROR com.hvlink.controller.AsnMainController - ASN查询失败 org.springframework.jdbc.UncategorizedSQLException: ### Error querying database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。 ### The error may exist in file [D:\SHProjects\hv-link-backend\dao\target\classes\mapper\asn\TbAsnOrderMain.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT COUNT(*) FROM (SELECT am.id, am.factory_code, am.warehouse_code, am.shipper_id, am.asn_no, am.status, am.production_batch, am.shipping_date, am.estimated_arrival_date, am.estimated_consumption_time, am.is_first_product, am.is_fully_shipping, am.release_date, am.is_deleted, am.create_user, am.update_user, am.create_time, am.update_time, f.factory_name, w.warehouse_name, s.shipper_name, sup.supplier_code, sup.supplier_name FROM tb_asn_main am LEFT JOIN tm_factory f ON am.factory_code = f.factory_code LEFT JOIN tm_warehouse w ON am.warehouse_code = w.warehouse_code LEFT JOIN tm_shipper s ON am.shipper_id = s.id LEFT JOIN tm_supplier sup ON s.supplier_code = sup.supplier_code WHERE am.is_deleted = 0 GROUP BY am.id ORDER BY am.create_time DESC, am.asn_no DESC) TOTAL ### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。 ; uncategorized SQLException; SQL state [S0001]; error code [1033]; 除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。 at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) at com.sun.proxy.$Proxy113.selectList(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:121) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:85) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) at com.sun.proxy.$Proxy117.queryAsnPage(Unknown Source) at com.hvlink.service.impl.AsnMainServiceImpl.queryPage(AsnMainServiceImpl.java:325) at com.hvlink.service.impl.AsnMainServiceImpl$$FastClassBySpringCGLIB$$906a1c7c.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703) at com.hvlink.service.impl.AsnMainServiceImpl$$EnhancerBySpringCGLIB$$2be333ba.queryPage(<generated>) at com.hvlink.controller.AsnMainController.queryPage(AsnMainController.java:51) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.reactive.result.method.InvocableHandlerMethod.lambda$invoke$0(InvocableHandlerMethod.java:145) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:125) at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539) at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1839) at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:258) at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:347) at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539) at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:101) at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539) at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:210) at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539) at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1839) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:151) at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107) at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539) at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299) at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539) at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:337) at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539) at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1839) at reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:160) at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onComplete(FluxOnAssembly.java:549) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152) at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onComplete(FluxOnAssembly.java:549) at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277) at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onComplete(FluxOnAssembly.java:549) at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:415) at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:439) at reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:656) at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:114) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:276) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Thread.java:750) Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:259) at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1695) at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:648) at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:567) at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7675) at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:4137) at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:272) at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:246) at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.execute(SQLServerPreparedStatement.java:544) at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) at com.sun.proxy.$Proxy212.execute(Unknown Source) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) at com.sun.proxy.$Proxy210.query(Unknown Source) at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) at com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor.willDoQuery(PaginationInnerInterceptor.java:135) at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:75) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62) at com.sun.proxy.$Proxy209.query(Unknown Source) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) ... 83 common frames omitted 2025-09-25 16:08:00.764 [reactor-http-nio-2] DEBUG o.s.w.r.r.m.annotation.ResponseBodyResultHandler - [e5cadee8-1] Using 'application/json' given [*/*] and supported [application/json, application/*+json, application/x-ndjson, text/event-stream] 2025-09-25 16:08:00.764 [reactor-http-nio-2] DEBUG o.s.w.r.r.m.annotation.ResponseBodyResultHandler - [e5cadee8-1] 0..1 [com.hvlink.common.Result<com.hvlink.pagination.PageResult<com.hvlink.entity.vo.asn.AsnMainVO>>] 2025-09-25 16:08:00.809 [reactor-http-nio-2] DEBUG o.s.http.codec.json.Jackson2JsonEncoder - [e5cadee8-1] Encoding [Result(status=500, msg=ASN查询失败, data=null, timestamp=1758787680758)] 2025-09-25 16:08:00.896 [reactor-http-nio-2] DEBUG reactor.netty.http.server.HttpServerOperations - [e5cadee8-1, L:/127.0.0.1:9002 - R:/127.0.0.1:5026] Decreasing pending responses, now 0 2025-09-25 16:08:00.897 [reactor-http-nio-2] DEBUG reactor.netty.http.server.HttpServerOperations - [e5cadee8-1, L:/127.0.0.1:9002 - R:/127.0.0.1:5026] Last HTTP packet was sent, terminating the channel 2025-09-25 16:08:00.897 [reactor-http-nio-2] DEBUG reactor.netty.channel.ChannelOperations - [e5cadee8-1, L:/127.0.0.1:9002 - R:/127.0.0.1:5026] [HttpServer] Channel inbound receiver cancelled (operation cancelled). 2025-09-25 16:08:00.928 [reactor-http-nio-2] DEBUG o.s.web.server.adapter.HttpWebHandlerAdapter - [e5cadee8-1] Completed 200 OK 2025-09-25 16:08:00.935 [reactor-http-nio-2] DEBUG reactor.netty.http.server.HttpServerOperations - [e5cadee8-1, L:/127.0.0.1:9002 - R:/127.0.0.1:5026] Last HTTP response frame <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.hvlink.mapper.asn.AsnMainMapper"> <!-- ASN主表分页查询 --> <select id="queryAsnPage" resultType="com.hvlink.entity.dto.asn.AsnMainDTO"> SELECT am.id, am.factory_code, am.warehouse_code, am.shipper_id, am.asn_no, am.status, am.production_batch, am.shipping_date, am.estimated_arrival_date, am.estimated_consumption_time, am.is_first_product, am.is_fully_shipping, am.release_date, am.is_deleted, am.create_user, am.update_user, am.create_time, am.update_time, f.factory_name, w.warehouse_name, s.shipper_name, sup.supplier_code, sup.supplier_name FROM tb_asn_main am LEFT JOIN tm_factory f ON am.factory_code = f.factory_code LEFT JOIN tm_warehouse w ON am.warehouse_code = w.warehouse_code LEFT JOIN tm_shipper s ON am.shipper_id = s.id LEFT JOIN tm_supplier sup ON s.supplier_code = sup.supplier_code WHERE am.is_deleted = 0 <!-- 工厂条件 --> <if test="param.factoryCode != null and param.factoryCode != ''"> AND am.factory_code LIKE CONCAT('%', #{param.factoryCode}, '%') </if> <!-- 仓库条件 --> <if test="param.warehouseCode != null and param.warehouseCode != ''"> AND am.warehouse_code LIKE CONCAT('%', #{param.warehouseCode}, '%') </if> <!-- ASN号条件 --> <if test="param.asnNo != null and param.asnNo != ''"> AND am.asn_no LIKE CONCAT('%', #{param.asnNo}, '%') </if> <!-- 订单号条件(关联明细表查询) --> <if test="param.orderNo != null and param.orderNo != ''"> AND EXISTS ( SELECT 1 FROM tb_asn_detail ad WHERE ad.asn_no = am.asn_no AND ad.is_deleted = 0 AND ad.order_no LIKE CONCAT('%', #{param.orderNo}, '%') ) </if> <!-- 零件号条件(关联明细表查询) --> <if test="param.partCode != null and param.partCode != ''"> AND EXISTS ( SELECT 1 FROM tb_asn_detail ad WHERE ad.asn_no = am.asn_no AND ad.is_deleted = 0 AND ad.part_code LIKE CONCAT('%', #{param.partCode}, '%') ) </if> <!-- 零件描述条件(关联明细表查询) --> <if test="param.partDesc != null and param.partDesc != ''"> AND EXISTS ( SELECT 1 FROM tb_asn_detail ad WHERE ad.asn_no = am.asn_no AND ad.is_deleted = 0 AND ad.part_desc LIKE CONCAT('%', #{param.partDesc}, '%') ) </if> <!-- 发货方条件 --> <if test="param.shipperName != null and param.shipperName != ''"> AND s.shipper_name LIKE CONCAT('%', #{param.shipperName}, '%') </if> <!-- 状态条件 --> <if test="param.status != null and param.status != ''"> AND am.status = #{param.status} </if> <!-- 供应商条件 --> <if test="param.supplierCode != null and param.supplierCode != ''"> AND sup.supplier_code LIKE CONCAT('%', #{param.supplierCode}, '%') </if> <if test="param.supplierName != null and param.supplierName != ''"> AND sup.supplier_name LIKE CONCAT('%', #{param.supplierName}, '%') </if> <!-- 创建日期范围 --> <if test="param.createStartDate != null"> AND am.create_time >= #{param.createStartDate} </if> <if test="param.createEndDate != null"> AND am.create_time <= #{param.createEndDate} </if> <!-- 发布日期范围 --> <if test="param.releaseStartDate != null"> AND am.release_date >= #{param.releaseStartDate} </if> <if test="param.releaseEndDate != null"> AND am.release_date <= #{param.releaseEndDate} </if> <!-- 可以添加更多明细表字段的查询条件,比如版本号、供应商零件号等 --> <if test="param.versionNo != null and param.versionNo != ''"> AND EXISTS ( SELECT 1 FROM tb_asn_detail ad WHERE ad.asn_no = am.asn_no AND ad.is_deleted = 0 AND ad.version_no LIKE CONCAT('%', #{param.versionNo}, '%') ) </if> <if test="param.supplierPart != null and param.supplierPart != ''"> AND EXISTS ( SELECT 1 FROM tb_asn_detail ad WHERE ad.asn_no = am.asn_no AND ad.is_deleted = 0 AND ad.supplier_part LIKE CONCAT('%', #{param.supplierPart}, '%') ) </if> GROUP BY am.id ORDER BY am.create_time DESC, am.asn_no DESC </select> </mapper>
09-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值