2017-06-06 102 views
0

查询:是否可以使用CodeIgniter的查询生成器进行此查询?

select (exists (select 1 from table1 where url = 'fajne-to-jest')) as in_table1, 
     (exists (select 1 from table2 where url = 'fajne-to-jest')) as in_table2; 

我不喜欢看到存在的功能。

我不认为这是可能的,但也许我错了。

所以问题是,是否有可能创建这个复杂的查询只有CodeIgniter的查询生成器?

回答

2

可能不如您的示例那样优化。最简单的解决方案是不使用Querybuilder并直接在query()中使用该语句。

$sql = "select (exists (select 1 from table1 where url = 'fajne-to-jest')) as in_table1, 
       (exists (select 1 from table2 where url = 'fajne-to-jest')) as in_table2"; 
$query = $this->db->query($sql); 

Querybuilder(QB)是一个很棒的工具,但它经常(也许更常见)是完全没有必要的。 QB的主要任务是构建查询语句。为什么要执行大量代码来创建简单的书写查询?

QB非常适用于需要有条件地更改查询语句的情况。例如,添加where子句,更改排序顺序等。

+0

同意,任何复杂的查询和连接都使用直接查询方法。 – timothymarois

相关问题