示例:一个表里头 有主办人、协办人、创建人
我当前登录的用户如果是主办人 就显示 主办人的数据,协办人就显示协办人数据,创建人也是一样
如果我用or 可能会存在三条数据,主办人、协办人、创建人实际上只要看到一条数据即可。那么我的sql 是这么写的
前面的主sql省略因为写了可能你也不理解,咱们就把关键的代码写上。
注意笛卡尔集 之后的 过滤 ,咱们的sql 要放在 外层,当然有些人放在里头 也能实现,看场景需求
where 1=1 (省略其他条件)
AND
CASE
WHEN ca.`sponsorship` = 435
THEN TRUE
WHEN ca.`co_sponsor` = 435
THEN TRUE
WHEN ca.`create_by` = 435
THEN TRUE
END