我的问题是:我想显示一个包含"Customer"列的表.这是一个表格,里面有"Measures"的集合.问题是,有两种"措施".它们也在数据库表中与一个名为"type"(0和1)的列分开.
每个"度量"都属于"客户",但对于每个"度量"类型,有一种不同的方式来获得"客户"名称:
这是代码:
$select = "blablabla..., c.name as customer";
$this->db->select($select);
$this->db->from("it_measure m");
Run Code Online (Sandbox Code Playgroud)
它继续用于类型0的"Measures":
$this->db->join("it_ma ma", "m.id = ma.measure", "LEFT OUTER");
$this->db->join("it_a a", "ma.a = a.id", "LEFT OUTER");
$this->db->join("it_i i", "a.i = i.id", "LEFT OUTER");
$this->db->join("it_customer c", "i.customer = c.id", "LEFT OUTER");
Run Code Online (Sandbox Code Playgroud)
对于类型1的"度量":
$this->db->join("it_mf mf", "m.id = mf.mid", "LEFT OUTER");
$this->db->join("it_f f", "mf.fid= f.id", "LEFT OUTER");
$this->db->join("it_w w", "f.w = w.id", "LEFT OUTER");
$this->db->join("it_ga ga", "w.a = ga.id", "LEFT OUTER");
$this->db->join("it_customer c", "ga.customer = c.id", "LEFT OUTER");
Run Code Online (Sandbox Code Playgroud)
因此,当您看到我有不同的联接来获取两种类型的客户名称.两个例子中的最后一个连接是重要的.我想加入同一个表(table_customer).我如何实现它结合此查询以获得两个连接到该一个现场客户.我也尝试使用if查询:如果键入0 .. else键入1 ..但它不起作用. …