今天遇到一个奇怪的问题,SSRS我觉得是个半成品,很多东西都搞不了。写了一段SQL,本来SQL写法都有点怪了,如下

WITH TMP_A AS (SELECT *,ROW_NUMBER() OVER(PARTITION BY L1_WorkOrderType,L2_TaskCode ORDER BY L4_QTY)CC FROM

(SELECT

B.B1_APP_TYPE_ALIAS AS L1_WorkOrderType,

WO.TASK_CODE AS L2_TaskCode,

WO.COST_ITEM AS L3_CostItem,

SUM(WO.COST_QUANTITY) AS L4_QTY,

MAX(WO.COST_UNIT_TYPE) AS L5_UOM

FROM B1PERMIT B

LEFT JOIN

GWORK_ORDER_COSTING WO

on b.SERV_PROV_CODE = WO.SERV_PROV_CODE

AND B.B1_PER_ID1 = WO.B1_PER_ID1

AND B.B1_PER_ID2 = WO.B1_PER_ID2

AND B.B1_PER_ID3 = WO.B1_PER_ID3

WHERE (B.B1_ALT_ID = 'WO-2013-00145' or B.B1_ALT_ID = 'WO-2013-00142')

AND B.SERV_PROV_CODE = 'ARAPAHOE'

GROUP BY B.B1_APP_TYPE_ALIAS,WO.TASK_CODE,WO.COST_ITEM)T1),

TMP_B AS

(SELECT *,ROW_NUMBER() OVER(PARTITiON BY L1_WorkOrderType,L2_TaskCode ORDER BY L6_PartsQTY)CC

FROM

(select

b.B1_APP_TYPE_ALIAS as L1_WorkOrderType,

p.TASK_CODE as L2_TaskCode,

P.PART_DESCRIPTION AS L8_Description,

SUM(p.QUANTITY) as L6_PartsQTY,

MAX(P.UNIT_OF_MEASUREMENT) AS L7_PartsUOM

FROM B1PERMIT B

LEFT JOIN

GPART_TRANSACTION P

on b.SERV_PROV_CODE = p.SERV_PROV_CODE

AND B.B1_PER_ID1 = p.B1_PER_ID1

AND B.B1_PER_ID2 = p.B1_PER_ID2

AND B.B1_PER_ID3 = p.B1_PER_ID3

WHERE (B.B1_ALT_ID = 'WO-2013-00145' or B.B1_ALT_ID = 'WO-2013-00142')

AND B.SERV_PROV_CODE = 'ARAPAHOE'

and p.TRANSACTION_TYPE = 'ISSUE'

GROUP BY b.B1_APP_TYPE_ALIAS,

p.TASK_CODE,

P.PART_DESCRIPTION) T2)

SELECT COALESCE(A.L1_WorkOrderType,B.L1_WorkOrderType),COALESCE(A.L2_TaskCode,B.L2_TaskCode),A.L3_CostItem,A.L4_QTY,A.L5_UOM,B.L6_PartsQTY,B.L7_PartsUOM,B.L8_Description

FROM TMP_A A FULL OUTER JOIN TMP_B B

ON A.L1_WorkOrderType = B.L1_WorkOrderType

AND A.L2_TaskCode = B.L2_TaskCode

AND A.CC = B.CC

大致意思就是TMP_A表与TAMP_B表关联条件是TYPE和CODE,且两张表需要全连接,即TAMP_B中的678字段需要对应的填冲到TAMP_A表中,所以我构造了一个CC字段,分组后再给一个序号也作为其连接条件才能成功的将678接到345后面,否则它会产生迪卡尔积的样子。

当一切就绪后,放到SSRS中以后,以上脚本直接放到数据库当中无任何问题,但是在SSRS中就出错了,如下

经过几次测试结果是COALESCE(A.L1_WorkOrderType,B.L1_WorkOrderType),COALESCE(A.L2_TaskCode,B.L2_TaskCode) 字段没取别名引起的,我呸。

再来SSRS其实经常会出现类似的错误,可能多嵌套几层就会导致无法运行了,离水晶报表感觉还是差好远的。

今天星期三啦,一个星期又过去一半多了,哦耶~明儿个深圳又要下雨啦,凉快啦~,字里好热,希望家里也能下雨啊~我娘在家好热的说~啊哦~

要下班啦,哦耶~

SSRS奇怪报错Could not update a list of fields for the quer.的更多相关文章

  1. Elasticsearch 报错:Fielddata is disabled on text fields by default. Set `fielddata=true` on [`your_field_name`] in order to load fielddata in memory by uninverting the inverted index.

    Elasticsearch 报错: Fielddata is disabled on text fields by default. Set `fielddata=true` on [`your_fi ...

  2. IE奇怪报错

    IE会有一些奇怪的报错信息,总结如下: 1. ”缺少对象” 这个报错从字面看还以为是那个object对象出了问题,经过调试才发现原来是有一个未定义的方法执行时,会报这个错误.

  3. Elasticsearch 6.2.3版本 同一个index新增type报错 Rejecting mapping update to [website] as the final mapping would have more than 1 type: [blog2, blog]

    在website的index下已经存在一个名为blog的type.想在website下,新增一个名为blog2的type. 执行语句如下: PUT /website/blog2/1 { "t ...

  4. 运行SQL文件报错Invalid ON UPDATE clause for 'create_date' column

    Invalid ON UPDATE clause for 'create_date' column   原因: 高版本的mysql导数据到低版本出现的问题 日期类型报错 MySQL 5.5 每个表只允 ...

  5. k8s集群node节点一直NotReady, 且node节点(并非master)的kubelet报错:Unable to update cni config: No networks found in /etc/cni/net.d

    若要转载本文,请务必声明出处:https://www.cnblogs.com/zhongyuanzhao000/p/11401031.html 问题: 集群搭建的过程中,master节点初始化成功,但 ...

  6. Mac 安装 Android commandlinetools 各种报错的问题

    https://developer.android.com/studio/releases/platform-tools commandlinetools-mac 下载地址 解压后直接运行 sdkma ...

  7. Elasticsearch聚合操作报错解决办法

    1. 当根据一个类型为text的字段idc进行聚合操作时,查询语句如下: { "aggs": { "top_10_states": { "terms& ...

  8. 【maven 报错】maven项目执行maven install时报错Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)

    在使用maven新建的web项目中,执行 执行如上的这两个操作,报错: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-co ...

  9. Maven-010-maven 编译报错:Failure to ... in ... was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced.

    今晚在编译 maven 项目的时候,命令行报错,出现 Failure to ... in ... 类似错误,详细的错误信息如下所示: [INFO] -------------------------- ...

随机推荐

  1. JavaScript防抖节流函数

    1.直接上码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <ti ...

  2. 分布式版本控制系统GIT的使用

    一.什么是Git Git是一个分布式版本控制系统,Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异(如CVS.Subver ...

  3. 菜鸟入门【ASP.NET Core】6:配置的热更新、配置的框架设计

    配置的热更新 什么是热更新:这个词听着有点熟悉,但到底是什么呢? 一般来说:创建的项目都无法做到热更新:即项目无需重启,修改配置文件后读取到的信息就是修改配置之后的 我们只需要吧项目中用到的IOpti ...

  4. jQuery 小特效【文本框折叠隐藏,展开显示】【下拉菜单】【颜色渐变】【弹窗+遮罩】

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs& ...

  5. Java并发编程:什么是CAS?这回总算知道了

    无锁的思想 众所周知,Java中对并发控制的最常见方法就是锁,锁能保证同一时刻只能有一个线程访问临界区的资源,从而实现线程安全.然而,锁虽然有效,但采用的是一种悲观的策略.它假设每一次对临界区资源的访 ...

  6. JavaSE 常用类与其方法

    1.基本数据类型比较用:== 2.引用数据类型比较用:equals方法 如果引用数据类型使用==比较的话,比较的是地址值 toString类 对象调用toString()需要重写本方法: 在封装类中, ...

  7. 使用Swagger2时遇到的问题

    Swagger2使用起来很简单,加一个@EnableSwagger2注解,并引入如下依赖就ok了 <dependency> <groupId>io.springfox</ ...

  8. git 本地仓库与远程仓库建立连接

    我们在使用git clone的时候可能会报错: Could not read from remote repository.Please make sure you have the correct ...

  9. numpy库的常用方法

    np.abs() 计算数组各元素的绝对值1 a= [0,1,2,3,4,-5,9,-3,12,-4] np.abs(a)out: array([ 0, 1, 2, 3, 4, 5, 9, 3, 12, ...

  10. logo.ico在html网页中的实现

    <!doctype html><html> <head> <meta charset="utf-8"/> <title> ...