DB2数据库用 With语句分隔字符
SELECT T1.REPAIRNO,T1.UNDERTAKER10,T3.FULLNAME AS RECEIVERNAME,T1.WALKDISTANCE,T1.STATUSCODEDATE10 AS RECEIVETIME,t8.REPAIRTYPE,T5.DELIVEREDDATE,CASE WHEN T2.REPAIRNO IS NULL THEN '否'ELSE '是'END ISINSURANCE,T2.FIXEDDATE,T4.FULLNAME AS CLAIMSNNAME,T2.TotalFee FROM RT_REPAIR T1LEFT JOIN RT_INSURANCECLAIMS T2ON T1.REPAIRNO = T2.REPAIRNOAND T1.FRAMENO = T2.FRAMENOLEFT JOIN CM_STAFF T3ON T1.UNDERTAKER10 = T3.STAFFPKIDLEFT JOIN CM_STAFF T4ON T2.ClaimsID = T4.STAFFPKIDLEFT JOIN RT_REPAIRPROCESS T5ON T1.REPAIRNO = T5.REPAIRNOLEFT JOIN RT_CUSTOMERWISH T6ON T1.REPAIRNO = T6.REPAIRNOLEFT JOIN RT_WORKCONTENT T7ON T6.REPAIRNO = T7.REPAIRNOAND T6.WISHID = T7.WISHIDLEFT JOIN RM_RepairType t8ON t7.RepairTypeCode = t8.repairtypecode WHERE T1.FRAMENO = 'LHGRB186982000004'AND STATUSCODE = '99' ORDER BYREPAIRNO DESC
public DataSet GetCustomerSolicitRepairHisByFrameNo(string aFrameNo){StringBuilder sql = new StringBuilder();sql.Append(" SELECT T1.REPAIRNO, ");sql.Append(" T1.UNDERTAKER10, ");sql.Append(" T3.FULLNAME AS RECEIVERNAME, ");sql.Append(" T1.WALKDISTANCE, ");sql.Append(" T1.STATUSCODEDATE10 AS RECEIVETIME, ");sql.Append(" T8.REPAIRTYPE, ");sql.Append(" T5.DELIVEREDDATE, ");sql.Append(" CASE ");sql.Append(" WHEN T2.REPAIRNO IS NULL THEN '否' ");sql.Append(" ELSE '是' ");sql.Append(" END ISINSURANCE, ");sql.Append(" T2.FIXEDDATE, ");sql.Append(" T4.FULLNAME AS CLAIMSNNAME, ");sql.Append(" T2.TOTALFEE ");sql.Append(" FROM RT_REPAIR T1 ");sql.Append(" LEFT JOIN RT_INSURANCECLAIMS T2 ");sql.Append(" ON T1.REPAIRNO = T2.REPAIRNO ");sql.Append(" AND T1.FRAMENO = T2.FRAMENO ");sql.Append(" LEFT JOIN CM_STAFF T3 ");sql.Append(" ON T1.UNDERTAKER10 = T3.STAFFPKID ");sql.Append(" LEFT JOIN CM_STAFF T4 ");sql.Append(" ON T2.ClaimsID = T4.STAFFPKID ");sql.Append(" LEFT JOIN RT_REPAIRPROCESS T5 ");sql.Append(" ON T1.REPAIRNO = T5.REPAIRNO ");sql.Append(" LEFT JOIN RT_CUSTOMERWISH T6 ");sql.Append(" ON T1.REPAIRNO = T6.REPAIRNO ");sql.Append(" LEFT JOIN RT_WORKCONTENT T7 ");sql.Append(" ON T6.REPAIRNO = T7.REPAIRNO ");sql.Append(" AND T6.WISHID = T7.WISHID ");sql.Append(" LEFT JOIN RM_REPAIRTYPE T8 ");sql.Append(" ON T7.REPAIRTYPECODE = T8.REPAIRTYPECODE ");sql.Append(" WHERE T1.FRAMENO = '" + aFrameNo + "' ");sql.Append(" AND STATUSCODE = '99' ");sql.Append(" ORDER BY ");sql.Append(" REPAIRNO DESC ");DataSet ds = new DataSet();FillDataSet(sql.ToString(), ds, new string[] { "Tmp_RepairHis" });// string repairNo = string.Empty;string repairType = string.Empty;DataSet cloneDS = new DataSet();cloneDS.Merge(ds);cloneDS.Tables["Tmp_RepairHis"].Clear();var cloneRow = cloneDS.Tables["Tmp_RepairHis"].NewRow();DataRow addRow = null;if (ds.Tables["Tmp_RepairHis"].Rows.Count == 0){return cloneDS;}foreach (DataRow row in ds.Tables["Tmp_RepairHis"].Rows){if (string.IsNullOrEmpty(repairNo)){repairNo = row["REPAIRNO"].ToString();repairType = row["REPAIRTYPE"].ToString();}else if (repairNo == row["REPAIRNO"].ToString()){if (row["REPAIRTYPE"] != null && row["REPAIRTYPE"] != DBNull.Value){repairType = repairType + "," + row["REPAIRTYPE"].ToString();}}else{AddNewCloneRow(addRow, cloneRow, repairNo, repairType, cloneDS);cloneRow = cloneDS.Tables["Tmp_RepairHis"].NewRow();repairNo = row["REPAIRNO"].ToString();repairType = row["REPAIRTYPE"].ToString();}addRow = row;}AddNewCloneRow(addRow, cloneRow, repairNo, repairType, cloneDS);cloneDS.AcceptChanges();return cloneDS;}
private static void AddNewCloneRow(DataRow row, DataRow cloneRow, string repairNo, string repairType, DataSet cloneDS){cloneRow["REPAIRNO"] = repairNo;cloneRow["REPAIRTYPE"] = repairType;//补充完整其他的数据行cloneRow["UNDERTAKER10"] = row["UNDERTAKER10"];cloneRow["RECEIVERNAME"] = row["RECEIVERNAME"];cloneRow["WALKDISTANCE"] = row["WALKDISTANCE"];cloneRow["RECEIVETIME"] = row["RECEIVETIME"];cloneRow["DELIVEREDDATE"] = row["DELIVEREDDATE"];cloneRow["ISINSURANCE"] = row["ISINSURANCE"];cloneRow["FIXEDDATE"] = row["FIXEDDATE"];cloneRow["CLAIMSNNAME"] = row["CLAIMSNNAME"];cloneRow["TOTALFEE"] = row["TOTALFEE"];cloneDS.Tables["Tmp_RepairHis"].Rows.Add(cloneRow);}
转载于:https://www.cnblogs.com/ShaYeBlog/p/4211813.html
DB2数据库用 With语句分隔字符相关推荐
- DB2数据库常用查询语句
DB2数据库常用查询: 1.DB2查找存储过程语句,存储过程名字大写 SELECT PROCNAME,TEXT,CREATE_TIME,A. * FROM SYSCAT.PROCEDURES a WH ...
- DB2 数据库清表语句
truncate table DWDM2.tablename IMMEDIATE; alter table DWDM1.tablename activate not logged initiall ...
- Java 技术篇 - java同时连接多种数据库执行sql语句的兼容性验证,数据库类型包括:oracle、sqlserver、DB2、人大金仓、达梦、PG、瀚高、polardb
Java 操作多类型数据库下的兼容性验证 第一章:数据库测试 ①[ oracle 数据库不支持分号]ORA-00933: SQL 命令未正确结束 ② [sqlserver 数据库不支持 commit] ...
- mybatis 向DB2数据库插入自增长的SQL语句报:DB2 SQL Error: SQLCODE=-798, SQLSTATE=428C9, SQLERRMC=ID, DRIVER=4.16.53
mybatis 向DB2数据库插入自增长的SQL语句报如下错误: SQL语句: <insert id="addUser" parameterType="user&q ...
- 查看创建数据库的sql语句
-- 查看创建数据库的sql语句 #SHOW CREATE DATABASE 数据库名; SHOW CREATE DATABASE db2; -- 修改数据库编码 #语法 ALTER DATABAS ...
- Linux下安装DB2数据库步骤及常用命令
前言: 最近有些项目在Linux下使用的是IBM的DB2数据库,感觉没MySQL那样容易了解深入,可能是DB2数据库更倾向于商业化,没MySQL那样开源,相关DB2的资源网上没MySQL那样普及,至于 ...
- DB2数据库常见问题汇总
DB2数据库常见问题汇总 1.1 创建存储过程时需要注意变量声明的顺序 创建存储过程时,声明变量顺序不符合规范将提示: SQL0104N An unexpected token "" ...
- 1.MySQL数据库 2.SQL语句
01数据库概念 * A: 什么是数据库数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作. * B: 什么是数据库 ...
- DB2数据库的基础学习
DB2的特性 完全Web使能的:可以利用HTTP来发送询问给服务器. 高度可缩放和可靠:高负荷时可利用多处理器和大内存,可以跨服务器地分布数据库和数据负荷:能够以最小的数据丢失快速地恢复,提供多种备份 ...
- SQLMap的基本使用-靶场墨者学院(DB2数据库)
小伙伴们大家好,之前为大家讲解了SQLMap的环境搭建,那么本期为大家带来的就是SQLMap的简单使用. 我们使用的靶场是墨者学院的DB2数据库靶场,注意我们的目的是为了练习SQLMap的使用,不是为 ...
最新文章
- 路径输入mac下配置NDK开发环境
- SpringSecurity认证流程回顾
- 单片机 c语言 pwm输出,单片机中PWM程序工作原理图文详解
- 我的开发笔记spring等常见问题
- python没有数据类型_python基本数据类型都在这里了!
- 负载均衡之让nginx跑起来
- cesium加载倾斜优化_干货 | 6款倾斜摄影裸眼3D采集软件推荐给大家
- Excel VBA使用总结
- 路径规划-人工势场法(Artifical Potential Field)
- 地区编码(定位中用到的编码)
- [哎]关于ftp扫描工具的破解问题
- 豆瓣电影小程序服务器,微信小程序实战:仿豆瓣电影
- 我的世界血量显示的服务器,Minecraft|世纪之都|服务器mod:拔刀剑 工业2 高级太阳能 血量显示 Nei 聊天泡泡等...
- 使用 hydra 破解路由器密码
- 电信光猫 TEWA 500AG 破解 超密 2020-3-21
- ArkID 一账通:企业级开源IDaaS/IAM平台系统
- python3实现阿里云DDNS域名动态解析
- 自然语言处理学习2:英语分词1word_tokenize, WordPunctTokenizer, TreebankWordTokenizer , WhitespaceTokenizer等
- 数据结构中二叉树的度
- 23最新《Android音视频开发进阶指南》,音视频开发者速领