有两张表:
A          流水号 项目编号 人员编号
              1       1       123
              2       1       087
              3       1       118
              4       2       123B          流水号  项目编号 人员编号 客户编号
              1        1      123       99
              2        1      123       88
              3        1      118       77
              4        1      118       66现在想做统计查询  
    查询结果是:   项目编号     人员编号  客户数量  
                       1           123        2
                       1           118        2
                       1           087        0
                       2           123        0
业务: A表为项目人员 指明了几号项目都有哪些员工参加
       B表为项目分配 指明哪些客户分配给那个项目下的那些人
要求: 统计查询出每个项目下每个人分配了多少个客户

解决方案 »

  1.   

    Select
    A.项目编号,
    A.人员编号,
    Count(B.流水号) As 客户数量
    From
    A
    Left Join
    B
    On A.项目编号 = B项目编号 And A.人员编号 = B.人员编号
    Group By
    A.项目编号,
    A.人员编号
      

  2.   

    select 项目编号,人员编号,count(1) as 客戶數量  from B group by 项目编号,人员编号
      

  3.   

    SELECT 项目编号,人员编号,客户数量=(SELECT COUNT(客户编号) FROM B WHERE A.项目编号=B.项目编号 AND A.人员编号=B.人员编号)
    FROM A
      

  4.   

    修改一處筆誤Select
    A.项目编号,
    A.人员编号,
    Count(B.流水号) As 客户数量
    From
    A
    Left Join
    B
    On A.项目编号 = B.项目编号 And A.人员编号 = B.人员编号
    Group By
    A.项目编号,
    A.人员编号
      

  5.   

    --創建測試環境
    Create Table A
    (流水号 Int,
     项目编号 Int,
     人员编号 Char(3))
    Insert A Select               1,       1,       '123'
    Union All Select               2,       1,       '087'
    Union All Select               3,       1,       '118'
    Union All Select               4,       2,       '123'Create Table B
    (流水号 Int,
     项目编号 Int,
     人员编号 Char(3),
     客户编号 Int)
    Insert B Select              1,        1,      '123',       99
    Union All Select              2,        1,      '123',       88
    Union All Select              3,        1,      '118',       77
    Union All Select              4,        1,      '118',       66
    GO
    --測試
    Select
    A.项目编号,
    A.人员编号,
    Count(B.流水号) As 客户数量
    From
    A
    Left Join
    B
    On A.项目编号 = B.项目编号 And A.人员编号 = B.人员编号
    Group By
    A.项目编号,
    A.人员编号
    GO
    --刪除測試環境
    Drop Table A, B
    --結果
    /*
    项目编号 人员编号 客户数量
    1 087 0
    1 118 2
    1 123 2
    2 123 0
    */
      

  6.   

    paoluo 强,问题搞定,马上结