【发布时间】:2018-03-05 05:21:34
【问题描述】:
在我的项目中,我使用带有服务器端处理的数据表插件。在我进行搜索或排序(排序)操作之前,它工作正常,因为它需要活动记录才能做到这一点。
我的场景是,我有一个帐户表、收入表和付款表,我想查看收入和付款表的所有数据,这就是我需要工会的原因。我的查询如下---
SELECT 'Income' as source, fld_type, fld_amount, ta.fld_account as account, fld_date, tbl_revenue.fld_description as fld_traninfo, tbl_revenue.fld_created as created
FROM tbl_revenue JOIN tbl_accounts as ta on tbl_revenue.fld_account_id = ta.fld_id
UNION
SELECT 'Expense' as source, fld_type, fld_amount, tae.fld_account, fld_date, tbl_payment.fld_description as fld_traninfo, tbl_payment.fld_created as created
FROM tbl_payment JOIN tbl_accounts as tae on tbl_payment.fld_account_id = tae.fld_id
有没有办法在这个查询中使用查询生成器?
第二个问题,您可以看到我创建了一个名为“source”的虚拟列,我想使用 where 子句过滤此列并附加此查询,如下所示
WHERE source like "%a%" limit(10,0)
但是这返回我没有任何列名'source',我该如何过滤这个列?
感谢任何帮助。
【问题讨论】:
-
你也可以使用
$this->db->query($SQL) -
是的,我可以,但是在此之后我无法对此查询添加任何修改,就像在此之后我想订购它,$this->db->order_by('id',asc);它不会工作
-
SQL 结束只需添加
ORDER BY id ASC -
它将根据提供的列名和方向 asc 或 desc 从外部订购
标签: mysql database codeigniter activerecord query-builder