SELECT A.autoid, A.cTitle, A.cBeginDate, A.cEndDate, B.cComName, C.cAddress, A.cImage,isnull(new.cnt,0) as cnt
FROM A LEFT OUTER JOIN
      C ON A.cUserID = B.cUserID LEFT OUTER JOIN
      B ON A.cUserID = C.cUserID
      left outer join (select cuserid,count(autoid) as cnt from A group by cuserid) new on A.cuserid=new.cuserid

解决方案 »

  1.   

    --如果需要筛选
    SELECT A.autoid, A.cTitle, A.cBeginDate, A.cEndDate, B.cComName, C.cAddress, A.cImage,isnull(new.cnt,0) as cnt
    FROM A LEFT OUTER JOIN
          C ON A.cUserID = B.cUserID LEFT OUTER JOIN
          B ON A.cUserID = C.cUserID
          left outer join (select cuserid,count(autoid) as cnt from A group by cuserid) new on A.cuserid=new.cuserid
    where A.cuserid=''
      

  2.   

    CREATE VIEW v_name
    ASSELECT T.autoid
           , T.cTitle
           , T.cBeginDate
           , T.cEndDate
           , T.cComName
           , T.cAddress
           , T.cImage
           ,(select count(1) from A where cuserid=T.cuserid) as 'count'
    FROM A T
    LEFT JOIN  C ON T.cUserID = C.cUserID 
    LEFT JOIN  B ON T.cUserID = B.cUserIDGO
      

  3.   

    orCREATE VIEW v_name
    ASSELECT A.autoid
           , A.cTitle
           , A.cBeginDate
           , A.cEndDate
           , A.cComName
           , A.cAddress
           , A.cImage
           , T.[count]
    FROM A
    LEFT JOIN  C ON A.cUserID = C.cUserID 
    LEFT JOIN  B ON A.cUserID = B.cUserID
    LEFT JOIN (select cuserid
                      ,count(1) as [count] 
               from A 
               group by cuserid
              )T on A.cUserID = T.cUserID GO