我有两张table
表格A
| 识别码|起始日期|结束日期|标价|
| - -|- -|- -|- -|
| 一个|十一|十二|200元/-|
| 2个|十二|十三|200元/-|
| 三个|十三|十一|200元/-|
表格B
| 识别码|数据名|
| - -|- -|
| 十一|帕尼帕特|
| 十二|卡纳尔|
| 十三|索内帕特|
我想在Codeigniter中联接表A和表B
$this->db->select('Table A.*,Table B.*');
$this->db->where('Table A.id',1);
$this->db->from('Table A');
$this->db->join('Table B','Table A.from=Table B.id');
$this->db->join('Table B as t1','Table A.to=Table B.id');
$orders=$this->db->get()->row();
echo $orders->dname.' - '. $orders->dname;
在运行上述代码时,它显示Panipat - Panipat,而它应该显示为Panipat - Karnal
1条答案
按热度按时间mrphzbgm1#
您没有以正确的方式添加查询的第三个联接,也没有将您感兴趣的列包括到select子句中。
由于您的代码没有使用一致的别名,因此混淆了约定,您可以将示例简化为:
这是与完整示例对应的sqlfiddle
这将是您编写查询的Codeigniter方式,同时考虑使用别名
fromName
和toName
的正确输出