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:\ ...
随机推荐
- 1001: [BeiJing2006]狼抓兔子(对偶图)
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 23595 Solved: 5940 Descript ...
- Java开发经验
两个类要传递参数: 1.构造方法 2.方法的参数 3.静态的变量
- day10 消息队列,多进程和多线程以及协程,异步IO,事件驱动等
回顾一下线程和进程 线程与进程的区别 守护线程: 队列: 两种方式: 先进先出 # 后入先出 #卖水果,后来的来的是新的 生产者消费者模型: 生产包子, 吃包子 事件 event: 红绿灯模型 ...
- go经典练习题涉及流程控制-字符串-struct-map的数据类型的处理
one:求1到100之间的质数 package main import ( "fmt" ) func isPrime(n int) bool { var flag = true f ...
- JAVA后端常用框架SSM,redis,dubbo等
JAVA后端常用框架SSM,redis,dubbo等 一.SpringMVC http://blog.csdn.net/evankaka/article/details/45501811 spri ...
- IOS开发学习笔记028-UITableView单组数据显示代码优化
1.如果表格中又几百条数据的话,系统会自动加载显示在界面上得数据,逐一加载 添加100个数据到UITableView中 ; i < ; i ++) { NSString *icon = [NSS ...
- C++ STL map容器的说明测试1
// maptest.cpp : 定义控制台应用程序的入口点.// #include "stdafx.h" /*********************************** ...
- Goole Search Auto Complete
这个项目就九章算法大数据课程的一个项目.主要分为两步: 第一步是 offline 建立 数据库 我们用两个map reduce 的data pipline 来实现. 第二步是 online显示把数据里 ...
- opendatasource问题
EXEC sp_configure 'show advanced options', 1 GO RECONFIGURE GO EXEC sp_configure 'Ad Hoc Distributed ...
- sqlserver 取时间段重复或者不重复的数据
declare @str datetime, @end datetime select @str='2013-04-05',@end='2013-04-10'select * from arp_hbs ...