首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否从不同的表中选择CodeIgniter Where_In?

是否从不同的表中选择CodeIgniter Where_In?
EN

Stack Overflow用户
提问于 2014-12-02 16:46:45
回答 1查看 356关注 0票数 0

我正在尝试在活动记录中转换此查询

代码语言:javascript
复制
SELECT 
crm_clients.id,
crm_clients.`moved_date`,
crm_clients.`contractor_id` 
FROM
dev_pfands.`crm_clients` 
WHERE crm_clients.`contractor_id` = 11 
AND (
crm_clients.`status` = 9 
OR crm_clients.`status` = 8 
OR crm_clients.`status` = 7
) 
AND crm_clients.id IN 
(SELECT 
 crm_client_cheques.`client_id` 
FROM
dev_pfands.`crm_client_cheques`) 
AND crm_clients.`moved_date` BETWEEN '2014-08-01' 
AND '2014-11-29 ' 
AND crm_clients.`contractor_id`<>''
GROUP BY crm_clients.`id

我有问题的部分是

代码语言:javascript
复制
AND crm_clients.id IN 
    (SELECT 
     crm_client_cheques.client_id 
    FROM
    dev_pfands.crm_client_cheques) `

我尝试过where_in方法,但过了一段时间,我试图包含我的$this ->db_pfands -> where('crm_client_cheques.client id' ,'id');尝试,却遇到了错误,并且不知道如何克服这个问题。

最初的查询应该返回703行,当我删除了被卡住的部分时,它会增加到3045行,所以我需要把它包括在内。任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2014-12-04 15:33:10

首先,你的代码中有一个错误。

代码语言:javascript
复制
$this->db_pfands->where('crm_client_cheques.client id', 'id');

这将是

代码语言:javascript
复制
$this->db_pfands->where('crm_client_cheques.client_id', 'id');

你必须提供正确的列名,据我所知,数据库的列名没有包含任何空格。

现在,我认为这个活动记录查询将帮助您获得结果。

代码语言:javascript
复制
$query = $this->db->select('crm_clients.id, crm_clients.moved_date, crm_clients.contractor_id')
                  ->where('moved_date BETWEEN "2014-08-01" AND "2014-11-29"')
                  ->where('contractor_id', 'id')
                  ->where_in('status', [9,8,7])
                  ->from('crm_clients')
                  ->join('crm_client_cheques', 'crm_client_cheques.client_id = crm_clients.id')
                  ->group_by('id')
                  ->get();
$result = $query->result();

也许你已经更改了几个名字,因为它们在不同的数据库中,但我相信你可以做到。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27245214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档