C# 如何在此处使用分组查询
我想输出如下C# 如何在此处使用分组查询,c#,sql-server-2005,C#,Sql Server 2005,我想输出如下 Id BatchName TblName SubBatchName Status 1 12032014 Tbl_12032014_raw2_1 raw2 Complete 2 12032014 Tbl_12032014_raw2_2 raw2 Complete 3 12182014 Tbl_12182014_raw3_1 raw3
Id BatchName TblName SubBatchName Status
1 12032014 Tbl_12032014_raw2_1 raw2 Complete
2 12032014 Tbl_12032014_raw2_2 raw2 Complete
3 12182014 Tbl_12182014_raw3_1 raw3 Complete
4 12182014 Tbl_12182014_raw3_2 raw3 Complete
5 12182014 Tbl_12182014_raw4_1 raw4 Complete
6 12182014 Tbl_12182014_raw4_2 raw4 Complete
7 12062014 Tbl_12062014_raw5_1 raw5 Complete
8 12062014 Tbl_12062014_raw5_2 raw5 Complete
9 12062014 Tbl_12062014_raw5_3 raw5 InComplete
如果batchname的所有行都处于“完成”状态,则只有batchname获得选择
谢谢按批次分组,只接受除完成之外没有其他状态的组 那么您想要所有状态都已完成的所有BatchName 您也可以使用“不存在”,而不是“分组依据”:
但这也会显示状态为空的批处理。
BatchName
--------------------
12032014
12182014
select batchname
from your_table
group by batchname
having sum(case when status <> 'Complete' or status is null
then 1
else 0
end) = 0
SELECT DISTINCT t1.BatchName
FROM dbo.TableName t1
WHERE t1.Status = 'Complete'
AND NOT EXISTS( SELECT 1 FROM dbo.TableName t2
WHERE t1.BatchName = t2.BatchName
AND ISNULL(t2.Status,'') <> 'Complete')