【发布时间】:2018-06-14 15:43:05
【问题描述】:
我正在处理 espressionengine 中的查询,并使用 codeigniter 语法对它们进行编码。这是我的查询:
$sql = ee()->db->select('*');
$sql = ee()->db->from('sometable');
$sql = ee()->db->where('id', $hidden_id);
$sql = ee()->db->get();
我想添加一个连接以获得另一个类似的值:
$sql = ee()->db->join('another_table', 'sometable.another_table_id, another_table.id);
现在的问题是,在 join 语句中我添加了另一个具有相同名称 (id) 的列。
我想在 join 语句中添加一个别名,而不是更改 select 语句 (*),例如:
$sql = ee()->db->join('another_table', 'sometable.another_table_id, another_table.id as another_table_id);
可行吗?
【问题讨论】:
-
不,这会给你像
You have an error in your SQL syntax这样的错误,但你可以改用子查询 -
如何进行子查询?
-
做这样的事情
SELECT * FROM sometable t1 WHERE id IN (SELECT id FROM anothertable t2 WHERE t1.id = t2.another_id) AND id = 1; -
是的,但这是正常语法,我正在寻找 codeingiter 语法
-
类似: // 子查询 $mysql = ee()->db->select('id as credit_id')->from('exp_credit_tracker_credit_type'); $subQuery = ee()->db->get_compiled_select($mysql); // 主查询 $sql = ee()->db->select('*') ->from('exp_credit_tracker_assoc') ->join("($subQuery)", NULL, FALSE) ->get() - >结果();
标签: php mysql codeigniter join