获取另一个表的值

Posted

技术标签:

【中文标题】获取另一个表的值【英文标题】:get the value of another table 【发布时间】:2017-08-27 08:44:58 【问题描述】:

第一个表是这样的:-

LocalityID | LocalityName | StateID | LocalityChamp

 1         |     anyName  |    1    |  AnYOne

第二张表是这样的:-

StateID | StateName

  1     |   anyState

我想返回这样的值

1    anyName      anyState    AnYOne

在代码点火器中

【问题讨论】:

那有什么大不了的? 这就是为什么我们有join, SELECT what_you_want FROM table 1 INNER JOIN table2 ON table1.StateID = table2.StateId; 如何在 codignitor 中制作 【参考方案1】:

假设第一个表名是 locality,第二个表名是 state。使用以下查询

SELECT Locality.LocalityID , Locality.LocalityName, State.StateName from locality 
inner join State on State.StateID=Locality.StateID

或使用 Active Records 。

编辑

在你的模型中创建一个这样的函数;

function getChamps() 
 $this->db->select('Locality.LocalityID , Locality.LocalityName, State.StateName');
 $this->db->from('Locality');
 $this->db->join('State', 'State.StateID = Locality.StateID');
 $query = $this->db->get();
 return $query->result_array();

在你的控制器中

function index()

 $data['Champs']=$this->Model_name->getChamps();
 $this->load->view('path/to/view',$data);

【讨论】:

没有办法在 codignitor 中实现吗? 活动记录/查询生成器,阅读codeigniter.com/userguide3/database/query_builder.html

以上是关于获取另一个表的值的主要内容,如果未能解决你的问题,请参考以下文章

用另一个 MySQL 表的值更新一个 MySQL 表(原始表的数据类型是 JSOn)

用另一个 MySQL 表的值更新一个 MySQL 表

在一个 SELECT 中将主表的数据连接到键/值表数据

更新一个表的字段值等于另一个表的字段值的SQL语句

SQL 更新一个表中的值以匹配 Oracle SQL Developer 中另一个表的值

SQL语句 一个表的值与另一个表的字段一致,怎么把两一个表的值作为条件,限定查询的字段