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. Win7系统桌面便签怎么添加?

    参考:http://jingyan.baidu.com/article/ab69b270c207432ca7189f99.html Win7系统桌面便签怎么添加?有时候工作.学习忙起来就会忘记要办的事 ...

  2. 11,scrapy框架持久化存储

    今日总结 基于终端指令的持久化存储 基于管道的持久化存储 今日详情 1.基于终端指令的持久化存储 保证爬虫文件的parse方法中有可迭代类型对象(通常为列表or字典)的返回,该返回值可以通过终端指令的 ...

  3. python项目中输出指定颜色的日志

    起因 在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中.而一般的应用服务器,第三方库,甚至服务器的一些通告也会在终端中显示,这样就搅乱了我们想 ...

  4. Contest1893 - 2019年6月多校联训b层测试1

    传送门 密码:waxadyt T1 暴力 对于任意相邻的两个值 中间能到达的最大高度是固定的 加上头尾,判一下就好了 代码//感谢Th Au K #include<bits/stdc++.h&g ...

  5. 慢慢琢磨JVM

    1 JVM简介 JVM是一个Javaer的最基本功底了,刚开始学Java的时候,一般都是从“Hello World”开始的,然后会写个复杂点class,然后再找一些开源框架,比如Spring,Hibe ...

  6. laravel5.2总结--数据迁移

          迁移就像是数据库中的版本控制,它让团队能够轻松的修改跟共享应用程序的数据库结构.   1 创建一个迁移 1.1 使用artisan命令make:migration来创建一个新的迁移: ph ...

  7. CSS滚动插件

    http://www.dowebok.com/131.html  wow.js http://www.jq22.com/jquery-info499 smoove.js http://www.lanr ...

  8. Python框架之Django学习笔记(八)

    模板继承 到目前为止,我们的模板范例都只是些零星的 HTML 片段,但在实际应用中,你将用 Django 模板系统来创建整个 HTML 页面. 这就带来一个常见的 Web 开发问题: 在整个网站中,如 ...

  9. backpropagation算法示例

    backpropagation算法示例 下面举个例子,假设在某个mini-batch的有样本X和标签Y,其中\(X\in R^{m\times 2}, Y\in R^{m\times 1}\),现在有 ...

  10. [oldboy-django][2深入django]学生管理(Form)--查看(分页)

    1 需求: 查看所有学生的信息,(分页功能) 2 前端:bootstrap美化前端 <!DOCTYPE html> <html lang="en"> < ...