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 T1
LEFT JOIN RT_INSURANCECLAIMS T2
ON T1.REPAIRNO = T2.REPAIRNO
AND T1.FRAMENO = T2.FRAMENO
LEFT JOIN CM_STAFF T3
ON T1.UNDERTAKER10 = T3.STAFFPKID
LEFT JOIN CM_STAFF T4
ON T2.ClaimsID = T4.STAFFPKID
LEFT JOIN RT_REPAIRPROCESS T5
ON T1.REPAIRNO = T5.REPAIRNO
LEFT JOIN RT_CUSTOMERWISH T6
ON T1.REPAIRNO = T6.REPAIRNO
LEFT JOIN RT_WORKCONTENT T7
ON T6.REPAIRNO = T7.REPAIRNO
AND T6.WISHID = T7.WISHID
LEFT JOIN RM_RepairType t8
ON t7.RepairTypeCode = t8.repairtypecode
WHERE T1.FRAMENO = 'LHGRB186982000004'
AND STATUSCODE = ''
ORDER BY
REPAIRNO 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 == )
{
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);
}

DB2数据库用 With语句分隔字符的更多相关文章

  1. DB2数据库中SQL语句中使用or和and的关键字的时候注意事项

    --正确的SQL语句,查询结果:746 ) FROM EHR_BASE EB, EHR_HF_INDICATOR EHI WHERE EB.EHR_ID=EHI.EHR_ID ' ' ' AND EB ...

  2. DB2 数据库常用操作【持续更新】

    好久没写博客了. 上次还是两个月前. 1. 连接数据库 db2 connect to dbName user userName using password 2. 查看表结构 db2 "de ...

  3. DB2数据库备份还原

    恢复及备份NC DB2数据库步 一. 安装DB2数据库 解压db2v9.5ins.rar安装,在写此文档时客户一般用的是9.5: 注意不要将db2安装到系统盘: 二. Windows版本 1.数据库备 ...

  4. mysql(数据库,sql语句,普通查询)

    第1章 数据库 1.1 数据库概述 l 什么是数据库 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作. l 什 ...

  5. R 连接DB2数据库,并制作词图

    #写在前面的话:此教程主要是用R连接了DB2数据库,并进行文本分析,制作了词图 #教程为markdown编写 ---title: "网站留言分析"output: html_docu ...

  6. DB2学习总结(1)——DB2数据库基础入门

    DB2的特性 完全Web使能的:可以利用HTTP来发送询问给服务器. 高度可缩放和可靠:高负荷时可利用多处理器和大内存,可以跨服务器地分布数据库和数据负荷:能够以最小的数据丢失快速地恢复,提供多种备份 ...

  7. db2数据库安装注意几个问题

    1.安装数据库的时候,db2用户使用的是系统中的用户.创建完数据库你会发现你电脑多了一个用户(可以在控制面板中查看到) 2.安装完数据库需要创建数据库.打开命令行cmd(注意一定要用管理员身份打开,不 ...

  8. DB2数据库性能优化介绍

    DB2数据库性能优化介绍 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 前段时间,我从CSDN得到了这本书<DB2数据库性能调整和优化(第2版)& ...

  9. DB2数据库常用基本操作命令

    点击开始菜单-->所有程序-->IBM-->DB2-->DB2COPY1-->命令行工具-->命令窗口一.DB2实例操作1.查看DB2数据库的版本及安装目录 E:\ ...

随机推荐

  1. linux下查找文件命令总结

    主要有find,locate,whereis,which等 1. find是最常用也是最强大的查找命令,它可以查找任何类型的文件. find命令的一般格式为:find <指定目录>< ...

  2. Linux命令之---find

    命令简介 find明林用于查找目录下的文件,同时也可以调用其他命令执行相应的操作 命令格式 find pathname -options [-print -exec -ok ...] find [选项 ...

  3. MySQL之索引(二)

    高性能的索引策略 正确地创建和使用索引是实现高性能查询的基础.在MySQL之索引(一)这一章中我们介绍了各种类型的索引及其对应的优缺点.现在我们一起来看看如何真正地发挥这些索引的优势. 独立的列 我们 ...

  4. 通过APP,网页打开手机客户端QQ

    以下内容为转载,原帖子 http://m.blog.csdn.net/blog/qduningning/40587099 在浏览器中可以通过JS代码打开QQ并弹出聊天界面,一般作为客服QQ使用.而在移 ...

  5. 【Word Break】cpp

    题目: Given a string s and a dictionary of words dict, determine if s can be segmented into a space-se ...

  6. linux 相关知识

    在mac 终端中可以直接访问ssh 命令:ssh root@127.0.0.*  批量删除文件: 当前目录下所有 *.html文件,除了index.html             [root@whr ...

  7. BZOJ 3437:小P的牧场(DP+斜率优化)

    小P的牧场[题目描述]背景:小P 是个特么喜欢玩MC 的孩纸...小P 在MC 里有n 个牧场,自西向东呈一字形排列(自西向东用1…n 编号),于是他就烦恼了:为了控制这n 个牧场,他需要在某些牧场上 ...

  8. javascript作用域链理解

    执行上下文(Execution context,简称EC)   概念   每当控制器到达ECMAScript可执行代码的时候,就进入了一个执行上下文.   javascript中,EC分为三种:   ...

  9. 数学课(math)

    数学课(math) 题目描述 wzy又来上数学课了-- 虽然他很菜,但是数学还是懂一丢丢的.老师出了一道题,给定一个包含nn个元素的集合P=1,2,3,-,nP=1,2,3,-,n,求有多少个集合A⊆ ...

  10. idea工具开发注意事项

    pom.xml中不需要有包 <dependency> <groupId>javax</groupId> <artifactId>javaee-api&l ...