有这样两个表:
(1)书目名称  册数   录入日期 操作员编号
(2)编号 操作员名称
现在想统计出书目的数量,要求输入操作员编号和操作员名称,还有时间段?
SQL语句应怎么写?谢谢各位!

解决方案 »

  1.   

    书目表:
     ISBN编号,册数,编目日期,操作员编号
    操作员表:
      编号,操作员名称操作员编号和操作员表中的编号相关联!
      

  2.   

    select sum(册数) from table1 
      where 操作员编号='''+ CZYBH + ''' and 录入日期>='''+LRRQ_start+''' and 录入日期<='''+ LURQ_end+''''
      

  3.   

    select a.书目名称,sum(a.册数),a.操作员编号,b.操作员名称
    from 表1 a,表2 b 
    where a.操作员编号=b.编号
    and a.录入日期>=... and a.录入日期<=...
    group by a.书目名称,a.操作员编号,b.操作员名称不太清楚你的需求,我想应该是这样。
      

  4.   

    select count(distinct 书目名称) where 操作员编号=(select 编号 from table_b where 操作员姓名=A01) from table_a and 录入日期 =A02
      

  5.   

    几个问题想先问清楚:
    1)统计的是书目数量而不是册数吧?
    2)统计结果是只要书目数量还是连操作员号和操作员姓名都要?我想可能只要书目数吧?
    3)我想你的需求应当是输入操作员号或操作员姓名之一,然后再加日期段加以统计吧?因为同时输入操作员号与操作员姓名查询统计完全没有必要,而且一不小心输错两者之一还根本找不到相应的数据.
    据上述推断, 应当有两条SQL语句:
    输入操作员号查询
    select count(*) from 书目表 where 操作员编号 = :OperatorNo and 编目日期 between
    :起始日期 and  :结束日期
    输入操作员姓名查询
    select count(*) from 书目表 where 编目日期 between
    :起始日期 and  :结束日期 and 操作员编号 in (select 操作员编号 from 操作员表
    where 操作员姓名 = :OperatorName)