请问一个子查询中进行逻辑判断的有关问题

请教一个子查询中进行逻辑判断的问题
表A
ID 
1
2
3
...
表B  
ID AID Flag
1   1      0
2   1      0
...........

表B的AID即为表A的ID
想查询表B中AID等于表A中对应ID的Flag,如果全为1就  设定为1,如果全为0则设定为0....

select * ,
(select 逻辑 from 表B where AID =a.ID ) as flag
from 表A a
该如何写这种语句呢?
------解决思路----------------------
SELECT T1.ID,CASE WHEN T2.C=1 THEN T2.Flag END [Flag]
FROM A T1 LEFT JOIN
(SELECT AID,MAX(Flag)Flag,COUNT(DISTINCT Flag)C FROM B GROUP BY AID)T2
ON T1.ID=T2.AID
你参考一下

这边,如果不是全1或全0,就设置为NULL,你可以根据需要修改
------解决思路----------------------
根据你顶楼的描述
全1 就为1
全0 就为0
此外的情况,我这边设置为NULL(这个情况是你所没有描述的,如果你要其它的处理要描述清楚)

因此,
引用:
如果表B  flag为null ,结果会是怎样的呢

当然是NULL了