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 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语句分隔字符的更多相关文章
- DB2数据库中SQL语句中使用or和and的关键字的时候注意事项
--正确的SQL语句,查询结果:746 ) FROM EHR_BASE EB, EHR_HF_INDICATOR EHI WHERE EB.EHR_ID=EHI.EHR_ID ' ' ' AND EB ...
- DB2 数据库常用操作【持续更新】
好久没写博客了. 上次还是两个月前. 1. 连接数据库 db2 connect to dbName user userName using password 2. 查看表结构 db2 "de ...
- DB2数据库备份还原
恢复及备份NC DB2数据库步 一. 安装DB2数据库 解压db2v9.5ins.rar安装,在写此文档时客户一般用的是9.5: 注意不要将db2安装到系统盘: 二. Windows版本 1.数据库备 ...
- mysql(数据库,sql语句,普通查询)
第1章 数据库 1.1 数据库概述 l 什么是数据库 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作. l 什 ...
- R 连接DB2数据库,并制作词图
#写在前面的话:此教程主要是用R连接了DB2数据库,并进行文本分析,制作了词图 #教程为markdown编写 ---title: "网站留言分析"output: html_docu ...
- DB2学习总结(1)——DB2数据库基础入门
DB2的特性 完全Web使能的:可以利用HTTP来发送询问给服务器. 高度可缩放和可靠:高负荷时可利用多处理器和大内存,可以跨服务器地分布数据库和数据负荷:能够以最小的数据丢失快速地恢复,提供多种备份 ...
- db2数据库安装注意几个问题
1.安装数据库的时候,db2用户使用的是系统中的用户.创建完数据库你会发现你电脑多了一个用户(可以在控制面板中查看到) 2.安装完数据库需要创建数据库.打开命令行cmd(注意一定要用管理员身份打开,不 ...
- DB2数据库性能优化介绍
DB2数据库性能优化介绍 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 前段时间,我从CSDN得到了这本书<DB2数据库性能调整和优化(第2版)& ...
- DB2数据库常用基本操作命令
点击开始菜单-->所有程序-->IBM-->DB2-->DB2COPY1-->命令行工具-->命令窗口一.DB2实例操作1.查看DB2数据库的版本及安装目录 E:\ ...
随机推荐
- Django runserver支持https
创建自签名ssl证书 1.下载软件openssl-0.9.8k_WIN32 2.解压后进入bin目录,双击打开openssl.exe,依次运行如下命令 genrsa -des3 -out server ...
- A1095 Cars on Campus (30)(30 分)
A1095 Cars on Campus (30)(30 分) Zhejiang University has 6 campuses and a lot of gates. From each gat ...
- 笔记-python-tutorial-5.data structure
笔记-python-tutorial-5.data structure 1. data structure 1.1. list operation list.append(x) #尾部 ...
- Go语言之并发编程(二)
通道(channel) 单纯地将函数并发执行是没有意义的.函数与函数间需要交换数据才能体现并发执行函数的意义.虽然可以使用共享内存进行数据交换,但是共享内存在不同的goroutine中容易发生竞态问题 ...
- 【网易严选】iOS持续集成打包(Jenkins+fastlane+nginx)
本文来自网易云社区 作者:孙娇 严选iOS客户端的现有打包方式是通过远程连接打包机执行脚本去打包,打完包会输出相应的ipa的二维码,扫一扫二维码可以安装,但是随着测试队伍的壮大,外包同学越来越多,在打 ...
- Java之OutOfMemoryError简单分析
Java之OutOfMemoryError简单分析 最近编码遇到了Java内存溢出的问题,所以就想顺便总结一下几种导致Java内存溢出的栗子,以及碰到Java内存溢出要如何去解决. Java堆溢出 J ...
- Python 拓展之迭代器
写在之前 今天来讲讲「迭代器」的内容,其实已经拖了好多天了,感觉再不写就要忘记了.「迭代」相信对你来说已经不陌生了,我前面曾经专门用一篇文章来讲,如果你已经没有什么印象的话,就再点进去看看(零基础学习 ...
- LeetCode661图片平滑器
题目描述:包含整数的二维矩阵 M 表示一个图片的灰度.你需要设计一个平滑器来让每一个单元的灰度成为平均灰度 (向下舍入) ,平均灰度的计算是周围的8个单元和它本身的值求平均,如果周围的单元格不足八个, ...
- c#委托使用
public class StepArgs : EventArgs { public int m_IMax = 0; public int m_IStep = 0; public string m_S ...
- [oldboy-django][2深入django]django一个请求的生命周期 + WSGI + 中间件
1 WSGI # WSGI(是一套协议,很多东西比如wsgiref, uwsgiref遵循这一套协议) - django系统本质 别人的socket(wsgiref或者uwsgiref) + djan ...