怎么判断表中的某个字段的所有值都为空,求解答

如何判断表中的某个字段的所有值都为空,求解答

-------------明细表
CREATE TABLE tb_detail(
    orderDay datetime,
    orderID varchar(50),
    detailID varchar(50),
    yanhuo_number int,
    primary key(orderDay,orderID,detailID)
 ) 
------订单表
create table tb_order(
    orderDay datetime,
    orderID varchar(50),  
    detailNumber int,
    allNumber int,
    primary key(orderDay,orderID)

   )两张表,如何查询tb_order表的时候得出该订单的订单状态:未验收(所有明细都未验收),验收中(部分明细已验收),已验收(所有明细都已验收),也就是判断订单表中的某个订单的明细记录中的allNumber 字段都为空或者部分为空,求解答
------解决方案--------------------
ISNULL(allNumber,0) 然后求和 为0 的话就全部为NULL 否则就是部分为空
------解决方案--------------------
对子表进行记录数统计,再比较两个值的大小就知道了.
用 count(*)  统计记录数, count(yanhuo_number)  统计非空记录数.
a=b,且b<>0,所有明细已验收
a=b,且b=0,未知状态
a>b,且b=0,所有明细都未验收
a>b,且b>0,部分明细已验收
------解决方案--------------------

select a.*,
       case when b.yhqty=0 then '未验收' 
            when b.yhqty>0 and b.yhqty<b.itemqty then '验收中' 
            when b.yhqty=b.itemqty then '已验收' 
            end '订单状态'
 from tb_order a
 left join
 (select orderID,
         count(1) 'itemqty',
         sum(case when yanhuo_number is not null then 1 else 0 end) 'yhqty'
   from tb_detail
   group by orderID) b on a.orderID=b.orderID