简体   繁体   English

Codeigniter数据库基于多个值加入两列

[英]Codeigniter database Join on two columns based on multiple values

I want to help in following query:- 我想帮助以下查询: -

    $this->db->select('nbr.*, dm.dma, st.abbrev as state,unit.size_title as ad_size_title,unit_u.size_title as ad_unit_title,di.size_title as ad_di_title,color.title as color_title');
$this->db->from('default_new_buy_request as nbr');
$this->db->join('default_dmadata as dm', 'nbr.dma_id = dm.id', 'left');
$this->db->join('default_states as st', 'nbr.state_id = st.id', 'left');

The nbr.dma_id comes with multiple comma (',') separated values and is going to compared with all dm.id in default_dmadata , but here it just compare only one value with dm.id . nbr.dma_id带有多个逗号(',')分隔值,并将与default_dmadata所有dm.id进行比较,但这里只是将一个值与dm.id进行比较。 In short I need a an explode() type functionality to compare each of value with second column. 简而言之,我需要一个explode()类型的功能来将每个值与第二列进行比较。

Can you try it? 你能试试吗?

Use If the values In comma 使用如果值为逗号

In MYSQL, try it with Codeigniter 在MYSQL中,使用Codeigniter进行尝试

LEFT JOIN default_dmadata dm ON FIND_IN_SET(dm.dma_id, dm.id)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM