销售表
id|姓名|销售数量|年|月|日成员表
id|姓名|...

解决方案 »

  1.   


    select count(*) as c from `销售表` as s
        left join `成员表` as u on u.`姓名`=s.`姓名`
        group by concat(`年`,`月`,`日`) where u.id=1 ;
      

  2.   

    SELECT count( * ) AS c
    FROM sell AS s
    LEFT JOIN user AS u ON u.ln_name = s.nl_name
    WHERE u.ln_id =1
    GROUP BY concat( s.nl_year, s.nl_month, s.nl_day )这个查出来的数据只是统计了该id数出现的次数?如何应用到前面的问题呢?我的具体需求是:
    输入2008年3月
    则显示三月的天数1§2§3§4§5....30§31
    而后根据天数显示某个销售人员(销售人员不再重复出现)的销售数量如1号1个;2号3个......姓名  1(日期) §2 § 3§  ... §31 
    张三  2(数量) §3 § 4§  ... §12 不知道表述的是否清楚。请各位帮忙了!谢谢了先。
      

  3.   

    SELECT count( * ) AS c ,u.ln_name,s.nl_day 
    FROM sell AS s 
    LEFT JOIN user AS u ON u.ln_name = s.nl_name 
    WHERE  s.nl_year='2008' and s.nl_month='3'
    GROUP BY concat( s.ln_name,'|', s.nl_year,'|', s.nl_month,'|', s.nl_day ) //得到结果后,保存为2维数组:$sellstats = array();
    while($row = mysql_fetch_array($result)){
        $name = $row[ln_name];
        $day = $row[ln_day];
        if(!$sellstats["$name"])  $sellstats["$name"] = array(); //名字作为第一维
        $sellstats["$name"][$day] = $row[c]; //日期作为第二维
    }//遍历2维数组:
    foreach($sellstats as $name=>$days){
        echo "$name | $days[1] | $days[2] |... | $days[31] <br />";
    }