dtrovwl75780 2015-02-04 10:51
浏览 12
已采纳

为不同的列连接两次相同的表

i have one table products and one table locations. products table have two columns pickLocation and recLocation. in locations table i have id and name columns. pickLocation and recLocation have id from location table. how can i join table in codeigniter.

Here is my code

$this->db->select("locations.name as plname");
$this->db->select("locations.name as rcname");
$this->db->join("locations","locations.id=products.pickLocation","LEFT");
$this->db->join("locations","locations.id=products.recLocation","LEFT");

Here is Products table

+----+--------------+-------------+
| Id | pickLocation | recLocation |
+----+--------------+-------------+
|  1 |           12 |          23 |
|  2 |           12 |          12 |
+----+--------------+-------------+

Here is Location table

+----+-----------+--+
| Id |   name    |  |
+----+-----------+--+
| 12 | Location1 |  |
| 23 | Location2 |  |
+----+-----------+--+

I want result like this

+-----------------------+
| 1 Location1 Location2 |
+-----------------------+
| 2 Location1 Location1 |
+-----------------------+
  • 写回答

2条回答 默认 最新

  • dongtang9855 2015-02-04 10:58
    关注

    Use aliases. Also, your product table never appears except in the join clause. It should also be in the from.

    $query = $this->db->select("p.id, l1.name as plname, l2.name as rcname")
                     ->join("location l1", "l1.id = p.pickLocation", "left")
                     ->join("location l2", "l2.id = p.recLocation", "left")
                     ->get("product p"); 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解