子查询不能用>怎么解决

有没有数据库大佬

现在我需要比较电子回访和电话回访的回访结束时间,如果电话回访是结束时间大于电子回访结束时间,取电话回访对应信息,但是现在子查询不能用>怎么解决呢

(
CASE

WHEN 

    (
        SELECT
            edb.FBTime EndDate 
        FROM
            (
            SELECT
                fbserviceNo,
                MAX( FBTime ) FBTime 
            FROM
                ( SELECT FBServiceNo, FBTime, FBResult, AppNo FROM LCCFBLog WITH ( nolock ) WHERE FBServiceNo = b.fbserviceNo ) temp2 
            WHERE
                fbresult IN ( 'he1', 'HJ10', 'HJ12', 'HJ16', 'HJ17', 'HJ20', 'HJ23', 'HJ24', 'HJ34', 'HJ36', 'HJ12', 'HJ8', 'HJ7' ) 
            GROUP BY
                fbserviceNo 
            ) edb 
        )>
        (
        SELECT
            edbOl.FBTime EndDate 
        FROM
            (
            SELECT
                ServiceNo,
                MAX( FBTime ) FBTime 
            FROM
                (
                SELECT
                    ServiceNo,
                    CONVERT ( VARCHAR, CONVERT ( VARCHAR, createDate ) + ' ' + createtime ) AS FBTime,
                    fbResult 
                FROM
                    LCCOLLog WITH ( nolock ) 
                WHERE
                    fbResult = 'OL2' 
                    AND applicationno = b2.applicationno 
                ) ol 
            GROUP BY
                ServiceNo 
            ) edbOl 
        ) 

THEN
(
SELECT
codename
FROM
((
SELECT
CODE,
codename
FROM
lcccodelist
WHERE
fcode IN ( 'HJ', 'HE' )) UNION ALL
(
SELECT
CODE,
codename
FROM
ledcode
WHERE
codetype IN ( 'mailStatus', 'probStatus', 'signStatus' ))) un
WHERE
CODE = c.fbresult
) ELSE ( SELECT codename FROM ( SELECT codeName FROM LCCCodeList WHERE CODE = b2.fbresult ) un2 )
END
) StatusName,

子查询中的结果集进行关联便可以了,即:将case when 中的sql结果集放入整个sql主体中的where后面 ,case when 中只放各个结果集中的需要比较的字段进行 > 比较。

可能是你的语句里面case when后的子查询返回了多行