数据库里有2个表 一个公司表,一个公司人员表现在想查询出这样一组数据
公司1  人员1  0
公司1  人员2  1
公司2  人员1  0
公司2  人员2  1
公司2  人员3  2
请问怎么拼写sql语句能查询出第三列数据,公司人员表包含公司id本人用的sql2005

解决方案 »

  1.   

    select
      a.name,b.name,count(b.name)
    from
      公司表 a,公司人员表 b
    where
      a.id=b.公司id
    group by
      a.name,b.name
      

  2.   

    select a,公司名称,b.人员名称
    from 公司表 a ,公司人员表 b
    where a.公司id=b.公司id
      

  3.   

    --这样?
    select
      a.name,b.name,b.num
    from
      公司表 a,
      (select name,count(1) as num from 公司人员表 b group by name)b
    where
      a.id=b.公司id
      

  4.   

    tryselect a.name
         , b.name
         , count(b.name)
      from 公司表 a
           left join 
           公司人员表 b
           on a.id=b.公司id
    group by
      a.name,b.name
      

  5.   

    SELECT 公司,员工,(rk-1) AS 序号
    FROM 
    (select
      a.NAME 公司,b.NAME 员工,row_number() OVER(PARTITION BY a.NAME oder BY a.NAME,b.NAME) AS rk
    from
      公司表 a,公司人员表 b
    where
      a.id=b.公司id
    ) tp
    ORDER BY 序号
      

  6.   

    公司表 
    id  公司名称1   公司12   公司2公司人员表
    id   人员名称         公司id1    公司1人员1       12    公司2人员1      23    公司2人员2      24    公司1人员2      15    公司2人员3      2
    最后我想查询出这样的结果公司1   公司1人员1   0
    公司1   公司1人员2   1
    公司2   公司2人员1   0
    公司2   公司2人员2   1
    公司2   公司2人员3   2