【发布时间】:2017-08-02 12:04:50
【问题描述】:
我的问题是: 我想显示一个包含“客户”列的表格。 这是一个表,其中包含“度量”的集合。问题是,有两种“措施”。它们也在数据库表中用一个名为“类型”(0 和 1)的列分隔。
每个“度量”都属于一个“客户”,但是对于每个“度量”类型,获取“客户”名称的方法不同:
这是代码:
$select = "blablabla..., c.name as customer";
$this->db->select($select);
$this->db->from("it_measure m");
类型为 0 的“措施”继续:
$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");
对于类型 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");
如您所见,我有不同的联接来获取这两种类型的客户名称。 两个示例中的最后一个连接是重要的连接。我想加入同一张桌子(table_customer)。 我如何才能实现结合此查询以将两个联接都加入到该字段客户中。 我还尝试了一个 if 查询:if type 0.. else type 1.. 但它不起作用。
如果你能帮助我,我会很高兴的! 如果有什么不清楚的请询问。 谢谢!
【问题讨论】:
标签: php mysql sql codeigniter join