MySQL多表查询之后再修改值_请教一下这个mysql多表查询语句怎么修改

$this->db->from('dbpre_subject');$this->db->join('dbpre_subject','s.sid','dbpre_tag_data','td.id','LEFTJOIN');$this->db->select('*');if($post['catid']>0)$this->db->where(...

$this->db->from('dbpre_subject');

$this->db->join('dbpre_subject', 's.sid', 'dbpre_tag_data', 'td.id', 'LEFT JOIN');

$this->db->select('*');

if($post['catid']>0) $this->db->where('pid', $post['catid']);

//$this->db->where_like('name', "%{$post['keyword']}%", 'AND', '(');

//$this->db->where_like('subname', "%{$post['keyword']}%", 'OR' , ')');

$this->db->where_concat_like('name,subname,tagname', "%{$post['keyword']}%");

$this->db->where('status', 1);

//$this->db->order_by($post['ordersort'], $post['ordertype']);

$this->db->order_by(array('finer'=>'DESC','addtime'=>'DESC'));

$this->db->group_by('sid');

return $this->db->get_sql();

需求是:前台输入关键词查询,从subject表中查询name、subname字段,从tag_data表中查询tagname字段,如果这三个字段中的任意一个字段含有这个关键词,则返回对应的值(sid).

现在这个语句的效果是:

如果tagname字段的值存在,则能达到需求的效果;

如果tagname字段的值为空,即使name或者subname字段含有这个关键词,也查询不到。这样就没达到需求。(注:name字段不存在为空的情况)

怎么修改以完全达到需求呢?

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值