SELECT A.*,(SELECT Id FROM RB_ActivitySurvey_Guest WHERE GuestType=2 AND IsFinish=0 AND SurveyId=A.ID AND StartTime<'{0}' AND EndTime>'{0}' AND GuestId={1} LIMIT 1) AS ActivitySurveyGuestId
SELECT A.*,(SELECT Id FROM RB_ActivitySurvey_Guest WHERE GuestType=2 AND IsFinish=0 AND SurveyId=A.ID AND StartTime<='{0}' AND '{0}'<=EndTime AND GuestId={1} LIMIT 1) AS ActivitySurveyGuestId
FROM RB_ActivitySurvey AS A
WHERE A.State=0 ",dateStr,StuAccountId);
WHERE A.State=0 ",dateStr,StuAccountId);
sb.AppendFormat(" AND A.StartDate<'{0}' AND A.EndDate>'{0}' ",dateStr);
sb.AppendFormat(" AND A.StartDate<='{0}' AND '{0}'<= A.EndDate ",dateStr);
if(!string.IsNullOrEmpty(StuAccountId))
{
//sb.AppendFormat(" AND NOT EXISTS(SELECT 1 FROM rb_guestsurvey WHERE UserType=2 AND ActivitySurveyId=A.ID AND UserId={0}) ", StuAccountId);
sb.AppendFormat(" AND EXISTS(SELECT 1 FROM RB_ActivitySurvey_Guest WHERE GuestType=2 AND IsFinish=0 AND SurveyId=A.ID AND GuestId={0} AND StartTime<'{1}' AND EndTime>'{1}' )",StuAccountId,dateStr);
sb.AppendFormat(" AND EXISTS(SELECT 1 FROM RB_ActivitySurvey_Guest WHERE GuestType=2 AND IsFinish=0 AND SurveyId=A.ID AND GuestId={0} AND StartTime<='{1}' AND '{1}'<=EndTime )",StuAccountId,dateStr);