今天遇到一个奇怪的问题,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. Hadoop项目开发笔录

    1.概要 我打算分享一下,我开发Hadoop的一些心得,对于即将步入Hadoop行业的童鞋,希望我整理的这些博文对您有帮助,我打算分为以下几部分来描述. 2.步骤 注:点击链接可直接跳到指定位置 Ha ...

  2. Django+JWT实现Token认证

    对外提供API不用django rest framework(DRF)就是旁门左道吗? 基于Token的鉴权机制越来越多的用在了项目中,尤其是对于纯后端只对外提供API没有web页面的项目,例如我们通 ...

  3. [NOI 2017]蚯蚓排队

    Description 题库链接 蚯蚓幼儿园有 \(n\) 只蚯蚓.幼儿园园长神刀手为了管理方便,时常让这些蚯蚓们列队表演. 所有蚯蚓用从 \(1\) 到 \(n\) 的连续正整数编号.每只蚯蚓的长度 ...

  4. python元祖操作和内置方法

    1 元祖:元祖可以理解为一个不可变的列表 2 用途:用于存放多个值,当存放的多个值只有读的需求而没有改的需求时用元祖最合适 3 定义:在()内用逗号分隔开多个任意类型的值.注意:当只有一个元素的时候, ...

  5. .Net实现微信公众平台开发接口(二) 之 “获取access_token”

    access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token. 接口调用请求说明 http请求方式: GET https://api.weixin.qq.com/ ...

  6. c#实战开发:以太坊钱包对接私链 (二)

    上一篇讲了 以太坊私链搭建 首先下载Ethereum Wallet 钱包 可以直接百度 下载如果直接打开它会默认连接公链 所以我们要通过命令打开 "F:\Program Files\Ethe ...

  7. C# 字符串大写转小写,小写转大写,数字保留,其他除外

    又是一道面试题,我只想到两种方式: 第一种:循环字符串,判断每个字符串的类型,再根据类型对该字符进行操作(转大写.转小写.不变或舍弃) static void Main(string[] args) ...

  8. 本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动

    重新安装MySQL数据库,由于安装的时候马虎,一路next(事实上,某些地方需要严格的配置,我忘记注意了),导致现在出了很多麻烦. 错误信息: 本地计算机上的MySQL服务启动后停止.某些服务在未由其 ...

  9. char *s="string"和char s[]="string"的区别

    char *s="string"的内容是不可以改的 void main() {     char* pStr1 = "Hello!";     char pSt ...

  10. Java 基础系列合集

    Java基础知识你知道多少? Java特性 Java三大特性:封装,继承,多态 Java 抽象类与接口 Java 浅拷贝和深拷贝 Java static和final Java 内部类.静态内部类.匿名 ...