本帖最后由 dw_liuqiang 于 2014-10-22 17:36:23 编辑

解决方案 »

  1.   

    SELECT     ZRR as 责任人, COUNT(1) AS 总数,SUM(CASE ProjectStatus WHEN '验收ok' THEN 1 ELSE 0 END)AS 完成的数量
    FROM         dbo.DW_ProjectManage
    GROUP BY ZRR
    你参考下
      

  2.   

    一举多得,给你个类似的、
    IF OBJECT_ID('TEST_A') IS NOT NULL DROP TABLE TEST_A
    GO
    CREATE TABLE TEST_A(ID INT IDENTITY(1,1),NAME NVARCHAR(20),SEX NVARCHAR(10))
    GO
    INSERT INTO TEST_A(NAME,SEX)VALUES('张1','男')
    INSERT INTO TEST_A(NAME,SEX)VALUES('张2','女')
    INSERT INTO TEST_A(NAME,SEX)VALUES('张3','男')IF OBJECT_ID('TEST_B') IS NOT NULL DROP TABLE TEST_B
    GO
    CREATE TABLE TEST_B(ID INT IDENTITY(1,1),NAME NVARCHAR(20))
    GO
    INSERT INTO TEST_B(NAME)VALUES('张1')
    INSERT INTO TEST_B(NAME)VALUES('张2')
    INSERT INTO TEST_B(NAME)VALUES('张3')
    INSERT INTO TEST_B(NAME)VALUES('张1')
    INSERT INTO TEST_B(NAME)VALUES('张2')
    INSERT INTO TEST_B(NAME)VALUES('张3')
    INSERT INTO TEST_B(NAME)VALUES('张1')
    INSERT INTO TEST_B(NAME)VALUES('张1')
    INSERT INTO TEST_B(NAME)VALUES('张3')SELECT * FROM TEST_A 
    SELECT * FROM TEST_B 
    SELECT ROW_NUMBER() OVER (ORDER BY A.NAME ASC) AS ID,A.NAME,A.SEX,B.COUNTS
    FROM TEST_A A 
    LEFT JOIN (SELECT NAME,COUNT(NAME)COUNTS FROM TEST_B GROUP BY NAME)B
    ON A.NAME=B.NAME
    GROUP BY A.NAME,A.SEX,B.COUNTS