有表1和表2结构如下:
表1:
标题     发布时间
测试1    2009-03-11
测试2    2009-03-11表2:
标题    人员     时间
测试1   人员1    2009-03-11
测试1    人员2    2009-03-11
测试1    人员3     2009-03-11
测试2   人员2    2009-03-11
测试2    人员3     2009-03-11显示结果:
标题,发布时间,人员数量
人员数量是指: 统计出同一标题所查看的人员数量
谢谢

解决方案 »

  1.   

    select a.标题,a.发布时间,人员数量=(select count(*) from 表2 where 标题=a.标题 and 时间=a.发布时间)  from 表1 a
      

  2.   

    select a.标题,a.发布时间,人员数量=(select count(1) from 表2 where 标题=a.标题 and 时间=a.发布时间)  from 表1 a
      

  3.   


    select a.标题,a.发布时间,count(*) as 人员数量
    from 表1 a,表2 b
    where a.标题=b.标题
    group by a.标题,a.发布时间
      

  4.   

    if object_id('tempdb..#a')>0 drop table #a
    if object_id('tempdb..#b')>0 drop table #b
    create table #a
    (
       标题     varchar(10),
      发布时间  datetime
    )
    insert into #a(标题,发布时间) 
    select '测试1','2009-03-11' 
    insert into #a(标题,发布时间) 
    select '测试2','2009-03-11' 
     create table #b
    (
       标题     varchar(10),
       人员     varchar(10),
      发布时间  datetime
    )
     insert into #b(标题,人员,发布时间) 
    select '测试1','人员1' ,   '2009-03-11' insert into #b(标题,人员,发布时间) 
    select '测试1' , '人员2', '2009-03-11' insert into #b(标题,人员,发布时间) 
    select '测试1'  ,  '人员3' ,   '2009-03-11' insert into #b(标题,人员,发布时间) 
    select '测试2' , '人员2 '  , '2009-03-11' insert into #b(标题,人员,发布时间) 
    select '测试2 ' , '人员3','2009-03-11' 
    select a.标题,a.发布时间,(select count(*) from #b b where a.标题=b.标题) 人员    from #a  a     
      

  5.   

    create table #1 (标题 varchar(10),发布时间 varchar(10))
    create table #2 (标题 varchar(10),人员 varchar(10),时间 varchar(10))insert into #1
    select '测试1','2009-03-11'
    union all select '测试2','2009-03-11'insert into #2
    select '测试1','人员1','2009-03-11' union all
    select '测试1','人员2','2009-03-11' union all
    select '测试1','人员3','2009-03-11' union all
    select '测试2','人员2','2009-03-11' union all
    select '测试2','人员3','2009-03-11' select * from #1
    select * from #2select a.标题,max(a.发布时间) as 发布时间,count(b.人员) as 人员数量
    from #1 a inner join #2 b on (a.标题=b.标题)
    group by a.标题/*
    标题         发布时间       人员数量        
    ---------- ---------- ----------- 
    测试1        2009-03-11 3
    测试2        2009-03-11 2(所影响的行数为 2 行)
    */
      

  6.   


    select 表2.标题,表1.发布时间,count(*) 人员数量 
    from 表2
    join 表1 on 表2.标题 = 表1.标题 
    group by 表2.标题, 表1.发布时间
      

  7.   

    select 标题,时间,count(distinct 人员) as 人数 from #2 group by 标题,时间
    貌似表1没什么用
      

  8.   

    create table #1 (标题 varchar(10),发布时间 varchar(10)) 
    create table #2 (标题 varchar(10),人员 varchar(10),时间 varchar(10)) insert into #1 
    select '测试1','2009-03-11' 
    union all select '测试2','2009-03-11' insert into #2 
    select '测试1','人员1','2009-03-11' union all 
    select '测试1','人员2','2009-03-11' union all 
    select '测试1','人员3','2009-03-11' union all 
    select '测试2','人员2','2009-03-11' union all 
    select '测试2','人员3','2009-03-11' select * from #1 
    select * from #2 select a.标题,max(a.发布时间) as 发布时间,count(b.人员) as 人员数量 
    from #1 a inner join #2 b on (a.标题=b.标题) 
    group by a.标题 /* 
    标题        发布时间      人员数量        
    ---------- ---------- ----------- 
    测试1        2009-03-11 3 
    测试2        2009-03-11 2 (所影响的行数为 2 行) 
    */
      

  9.   


    create table #1 (标题 varchar(10),发布时间 varchar(10)) 
    create table #2 (标题 varchar(10),人员 varchar(10),时间 varchar(10)) insert into #1 
    select '测试1','2009-03-11' 
    union all select '测试2','2009-03-11' insert into #2 
    select '测试1','人员1','2009-03-11' union all 
    select '测试1','人员2','2009-03-11' union all 
    select '测试1','人员3','2009-03-11' union all 
    select '测试2','人员2','2009-03-11' union all 
    select '测试2','人员3','2009-03-11' select * from #1 
    select * from #2 select a.标题,max(a.发布时间) as 发布时间,count(b.人员) as 人员数量 
    from #1 a inner join #2 b on (a.标题=b.标题) 
    group by a.标题 /* 
    标题        发布时间      人员数量        
    ---------- ---------- ----------- 
    测试1        2009-03-11 3 
    测试2        2009-03-11 2 (所影响的行数为 2 行) 
    */
      

  10.   

    create table table2
    (
      Title varchar(10),
      Memebr varchar(10),
      Date datetime
    )
    insert into table2 select '标题1','人员1','2009-03-11'
    union all select '标题1','人员2','2009-03-11'
    union all select '标题1','人员3','2009-03-11'
    union all select '标题2','人员2','2009-03-11'
    union all select '标题2','人员3','2009-03-11'select Title,count(Memebr)'数量',Date from table2 group by Title,DateTitle      数量          Date
    ---------- ----------- -----------------------
    标题1        3           2009-03-11 00:00:00.000
    标题2        2           2009-03-11 00:00:00.000(2 行受影响)