为了保持简单,我有一张桌子。一列是一个数字,一个是开始日期,一个是完成日期。当输入批号的第一个条目时,它具有开始日期。根据完成批次所需的班次数量,我可以在服务器行完成之前没有日期,然后我就有完成日期。
SHIFT .........批次..........开始..........结束
1 ................... 1 ............ O ............. Null
2 ................... 1 .......... Null ......... Null
3 .................. 1 .......... Null .......... O
1 .................. 2 ........... O ........... Null
我想挑选具有开始日期和结束日期的批号,即使它们不在同一行上。这可能。
SELECT t1.LotNumber 来自BlendingCycleTime t1 INNER JOIN BlendingCycleTime t2 ON t1.LotNumber = t2.LotNumber 在哪里t1.ActualStartDayTime不为NULL且t2.ActualFinishDayTime为空
我已经登陆了这个,但它并没有真正起作用。有什么想法吗?
答案 0 :(得分:1)
试试这个:
create table #tb (Shift int,lot int,StartD int, endD int)
go
insert into #tb values(1,1,0,null),
(2,1,null,null),
(3,1,null,0),
(1,2,0,null)
select * from #tb
select Lot
from #tb
group by Lot
Having Max(startD) is not null and Max(endD) is not null