SELECT
customer_id AS 客户id,
customer_name AS 客户名称,
d.`name` AS 线路,
customer_phone AS 客户电话,
customer_address AS 客户地址,
sale_name AS 业务员名称,
deliver_time AS 配送时间,
COUNT( DISTINCT DATE_FORMAT( o.createtime, "%y-%m-%d" ) ) AS 下单次数,
SUM( o.pick_amount ) AS 下单金额
FROM
order_list o
JOIN efarm.dictionary d ON o.customer_path = d.`value`
WHERE
createtime BETWEEN '2018-12-31'
AND '2019-01-31'
AND `status` != 5
AND d.`code` = 'businessPath'
AND
customer_name LIKE "%缘火锅%"
OR customer_name LIKE "%银座%"
GROUP BY
o.customer_id
ORDER BY
o.customer_path
银座佳驿*** 线路B6 | 下单次数22 |
银座佳驿** 线路B6 | 下单次数168 |
*尚缘火锅 线路盖家沟–B | 下单次数168 |
线路很明显不对,数据库没有B6这线
做法:OR的两边应该用()括起来和AND并列
SELECT
customer_id AS 客户id,
customer_name AS 客户名称,
d.`name` AS 线路,
customer_phone AS 客户电话,
customer_address AS 客户地址,
sale_name AS 业务员名称,
deliver_time AS 配送时间,
COUNT( DISTINCT DATE_FORMAT( o.createtime, "%y-%m-%d" ) ) AS 下单次数,
SUM( o.pick_amount ) AS 下单金额
FROM
order_list o
JOIN efarm.dictionary d ON o.customer_path = d.`value`
WHERE
createtime BETWEEN '2018-12-31'
AND '2019-01-31'
AND `status` != 5
AND d.`code` = 'businessPath'
AND
(customer_name LIKE "%缘火锅%"
OR customer_name LIKE "%银座%" )
GROUP BY
o.customer_id
ORDER BY
o.customer_path