首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL 行转换为列的有关问题

2012-04-20 
SQL 行转换为列的问题目前表结构是这样的PCBCodeLineCodeProcessCodeTestResultResultDescOperTimeOperato

SQL 行转换为列的问题
目前表结构是这样的
PCBCode LineCode ProcessCode TestResult ResultDesc OperTime Operator
A0001 L1 A True NULL 2012/03/14 09:39:23 L1A
A0001 L1 B False BAD 2012/03/14 09:45:12 L1B
A0001 L1 A True NULL2012/03/14 09:50:20L1A
A0001 L1 B True NULL2012/03/14 09:57:30L1B
A0001 L1 C True NULL2012/03/14 10:01:20L1C
A0001 L1 D True NULL2012/03/14 10:07:22L1D
A0001 L1 E True NULL2012/03/14 11:15:29L1E
A0002 L1 A True NULL 2012/03/14 09:39:23 L1A
A0002 L1 B False BAD 2012/03/14 09:45:12 L1B
A0002 L1 A True NULL2012/03/14 09:50:20L1A
A0002 L1 B True NULL2012/03/14 09:57:30L1B
A0002 L1 C True NULL2012/03/14 10:01:20L1C
A0002 L1 D True NULL2012/03/14 10:07:22L1D
A0002 L1 E True NULL2012/03/14 11:15:29L1E
怎么样做能查询出这样的结果,也就是当TestResult为False的时候去除当前为False的这一行以及OperTime小于当前行的结果记录
PCBCode LineCode ProcessCode TestResult ResultDesc OperTime Operator
A0001 L1 A True NULL2012/03/14 09:50:20L1A
A0001 L1 B True NULL2012/03/14 09:57:30L1B
A0001 L1 C True NULL2012/03/14 10:01:20L1C
A0001 L1 D True NULL2012/03/14 10:07:22L1D
A0001 L1 E True NULL2012/03/14 11:15:29L1E
A0002 L1 A True NULL2012/03/14 09:50:20L1A
A0002 L1 B True NULL2012/03/14 09:57:30L1B
A0002 L1 C True NULL2012/03/14 10:01:20L1C
A0002 L1 D True NULL2012/03/14 10:07:22L1D
A0002 L1 E True NULL2012/03/14 11:15:29L1E






[解决办法]
case when
[解决办法]
帖子被吃了么

SQL code
select 表.PCBCode,表.LineCode,表.ProcessCode,表.TestResult,        表.ResultDesc,表.OperTime,表.Operatorfrom 表,(select pcbcode,max(OperTime) OperTime_max from 表    where TestResult = 'False') 表_false    where 表.pcbcode = 表_false.pcbcode    and 表.OperTime > 表_false.OperTime_max 

热点排行
Bad Request.