2
SELECT field1, field2
FROM table1
JOIN table2 ON (table2.field1=table1.field1 OR table2.field2=table1.field2)

如何在 CodeIgniter 中编写此查询?我想在 JOIN 条件中有括号。

CodeIgniter 示例

$this->db->select("field1,field2")
$this->db->from("table1")
$this->db->join("table2","(table2.field1=table1.field1 or table2.field2=table1.field2)")

但这会产生错误。

4

1 回答 1

-1

我会使用 query() 函数并编写普通的 SQL。

像这样:

$this->db->query(
   'SELECT field1, field2 
    FROM table1
    JOIN table2 
        ON table2.field1=table1.field1 
        OR table2.field2=table1.field2');

使其更具可读性。在大型应用程序中,我们经常让专家或非 CI 程序员检查所有查询,这在使用活动记录表示法时是不可能的。

然后,您甚至可以将查询放在单独的文件中,以实现更好的抽象和跨团队可访问性。

括号不是必需的。

于 2012-08-11T09:43:33.917 回答