在上一篇博文中,主要说了如何根据不同条件连接不同表,此篇博文主要记录,在select 和 where条件中如何使用 IF 条件语句
-- 根据当前uid,如果为客户创建者,查询customer相关数据,如果是负责人(非客户创建者),查询share_customer相关数据,关键词支持模糊搜索客户名和手机号
SELECT
s.cid,
s.bid,
s.creat_id,
s.addtime,
IF (
s.creat_id = {$uid},
c.cname,
sc.cname
) AS cname,
IF (
s.creat_id = {$uid},
c.intentionally,
sc.intentionally
) AS intentionally,
IF (
s.creat_id = {$uid},
c.ittnxl,
sc.ittnxl
) AS ittnxl,
cd.sex,
cd.cphone
FROM
crm_share_join s
LEFT JOIN crm_customer c ON c.id = s.cid AND s.creat_id = {$uid}
LEFT JOIN crm_share_customer sc ON s.bid = sc.id AND s.creat_id <> {$uid}
LEFT JOIN crm_customer_data cd ON s.cid = cd.cid
WHERE
s. STATUS = 1
AND s.sea_type = 0
AND from_type = 2
AND beshare_uid = {$uid}
AND IF(s.creat_id = {$uid},CONCAT(c.cname,cd.cphone) LIKE '%158399%',CONCAT(sc.cname,cd.cphone) LIKE '%158399%')
ORDER BY
s.addtime DESC
LIMIT 0,
20