sql语句书写
本帖最后由 飞鱼 于 2016-7-15 14:34 编辑各位,请教下,以下语句如何用 CI3.0的 sql语句表达
SELECT F. *
FROM (
SELECT *
FROM`table`
GROUP BY`name` ,`status`
ORDER BY`name` ,`status`
) AS F
ORDER BY `name` DESC
这个语句只是把复杂SQL简写了.
请不要讨论此语句本身该不该这样写.
因为我遇到 双层以上 select查询再加上group byA,B order byA ,B
这样的用法,就有问题.
可以使用 $this->db->query()
請參閱 : CI 手冊 - 查詢 Closer 发表于 2016-7-15 15:23
可以使用 $this->db->query()
請參閱 : CI 手冊 - 查詢
大神,那请问以下语句错误如何破.
$this->db->query("SELECT F. * FROM (SELECT * FROMcar_dispatch) AS F ")->get();
================分割线============================
A Database Error Occurred
Error Number: 1096
No tables used
SELECT * 飞鱼 发表于 2016-7-15 16:23
大神,那请问以下语句错误如何破.
$this->db->query("SELECT F. * FROM (SELECT * FROMcar_dispatch) AS ...
是不是少加 ` 的關係 ? Closer 发表于 2016-7-15 16:44
是不是少加 ` 的關係 ?
直接使用 $this->db->query 构造双层以上 select 重来没有成功过. Closer 发表于 2016-7-15 15:23
可以使用 $this->db->query()
請參閱 : CI 手冊 - 查詢
谢谢回复,问题解决了
不有使用 query ,个人觉得 query有bug
使用
->protect_identifiers('table_name');//
->select
->from('()')
这种方式,只有 group by 有多个元素的时候,要分别引起来,如果元素是数据表的某一项名字,则不能引起来,需要在语句执行前加上保护.如第一行语句.
调试了好久,哎,痛苦.
页:
[1]