我是Codeigniter 4的新手,正在尝试编写SELECT UNION SQL语句。根据codeigniter 4中的用户指南,select()方法中有第二个参数,允许通过将其设置为false来编写自定义SQL语句。不幸的是,它不起作用。有人能帮忙吗?有没有其他解决方案?
$query = "SELECT acnt_id, acnt_opbal as sum_amount
FROM accounts
WHERE acnt_id = '" . $acnt_id . "'
UNION
SELECT txn_acnt_id_dr as acnt_id, SUM(txn_amount_dr) as sum_amount
FROM transactions
WHERE txn_acnt_id_dr = '" . $acnt_id . "'
AND txn_date < '" . $fdate . "'
GROUP BY txn_acnt_id_dr
UNION
SELECT txn_acnt_id_cr as acnt_id, -SUM(txn_amount_cr) as sum_amount
FROM transactions
WHERE txn_acnt_id_cr = '" . $acnt_id . "'
AND txn_date < '" . $fdate . "'
GROUP BY txn_acnt_id_cr";
$result = $this->builder()->select($query, false)->get()->getResult();
1条答案
按热度按时间nwlls2ji1#
你能试试这个吗:
您的代码是否在模型/控制器中?