有一表A 字段是姓名,性别,年龄
另有一表B,字段是 小于1岁男人数,小于1岁女人数,大于1小于2男人数,大于1小于2女人数,一直到10岁吧
想做的就是把表A的内容按要求冲入表B中,不知应该怎样写SQL语句,有没有甚磨简单的办法呀?谢谢!

解决方案 »

  1.   

    拿小于一岁男人数作例子
    insert into B(小于一岁男人数) Select count(*) from A where 性别=‘男’and 年龄<1
    其他的可以照着写吧
    感觉你的表挺有趣的 呵呵
      

  2.   

    select ... into ... where 小于1岁男人数,小于1岁女人数,大于1小于2男人数,大于1小于2女人数...
      

  3.   

    楼主,肯定可以做(使用SELECT INTO),但是这样有很多冗余吧?
      

  4.   

    因为我感觉插入时要用很多的COUNT和WHERE子句所以才上这来问问,有没有比较取巧的办法,表A中的年龄填的是表B中的字段内容,只不过表B又把它细分了男女,想问大虾们,有没有简单的语句,谢谢!
      

  5.   

    完全不需要表B   表B中的数据你完全可以通过sql语句从表A中取得,这样的话可以通过视图来实现
    可以省去反反复复的插入,再查询操作。
      

  6.   

    select sum(case age when ((age >0) and( age< 1))and(empsex='1') then 1, 0)........
    from b
      

  7.   

    非常感谢各位,其实表B是我加的,实际上呢还要对各个人按照所属不同的单位进行汇总所以想把各个单位的各年龄段的人按性别及各个年龄段插入一表中
    要是用象
    select sum(case age when ((age >0) and( age< 1))and(empsex='1') then 1, 0)........
    from b
    这样的语句感觉要一个个的列出来,但是用作个传递参数的存储过程是不是也快不了多少呀?语句怎样写才能短些呀?
    TO:ZZLAZIO
    能不能给个示例语句呀?