我的问题是: 我想显示一个包含“Customer”列的表。 这是一个收集“度量”的表格。问题是,有两种“措施”。它们也在数据库表中与“类型”(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 ..但它不起作用。
如果你能帮助我,我会很高兴! 如果有什么不清楚的地方,请询问。 谢谢!
可能重复[MySQL:如何多次连接同一个表?](https://stackoverflow.com/questions/12561733/mysql-how-do-i-join-same-table-multiple-次) – JeffUK