一张桌子可以加入两次吗?

詹尼克窗

我的问题是:我想显示一个包含“客户”列的表格。这是一个表,其中包含“度量”的集合。问题是,有两种“措施”。它们也在数据库表中用名为“类型”(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 查询尝试过:如果输入 0.. 否则输入 1.. 但它不起作用。

如果你能帮助我,我会很高兴!如果有什么不清楚的请询问。谢谢!

用户8346348

当然,只需给每个表一个不同的别名。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章