源代码实例:
-- 工资统计表SELECTwages_header.bill_date,wages.`name`,SUM(wages.money) AS moneysFROMwages_headerLEFT JOIN wages ON wages.bill_code = wages_header.bill_codeLEFT JOIN people ON wages.people_code=people.people_codeLEFT JOIN department ON people.bm_id=department.idLEFT JOIN `procedure` ON wages.pro_code=`procedure`.pro_codeLEFT JOIN product ON wages.product_code=product.product_codeWHERE 1=1-- 核算区间,上线。如果时间参数为空,查询到的数据为空AND (DATE_FORMAT( wages_header.bill_date, '%Y-%m-%d' ) <= DATE_FORMAT( '2020-11-01', '%Y-%m-%d' ))-- 核算区间,上线。如果时间参数为空,查询到的数据为空AND (DATE_FORMAT( wages_header.bill_date, '%Y-%m-%d' ) >= DATE_FORMAT( '2019-10-01', '%Y-%m-%d' ))-- 选择部门条件,可多选AND (department.bm_name LIKE '%实施部%' OR department.bm_name LIKE '%开发部%')-- 选择人员条件,可多选AND (people.people_name LIKE '%沉静的月饼%' OR people.people_name LIKE '%怕孤单的铃铛%')-- 选择工序查询,可多选。需要遍历,并且要判断是否为空,为空的话不加AND (product.product_name LIKE '%手机%' OR product.product_name LIKE '%电脑%')GROUP BY wages_header.bill_date,wages.`name`;查询到的结果为:
GROUP BY语法