我正在使用codeigniter。从两个mysql表中选择mysql查询
我们有两个mysql表。
我正在做的是将第一个表格中的所有细节提供给html页面以让所有用户查看它。但是现在我想添加一些与第一个表中的列相关的细节。
我的意思是,我在第一个表中调用“Pending_on”的列中插入了一些分支名称 ,并在第二个表中插入了这些部门的联系详细信息。
因此,如果我们认为在第一个表第五行pending_on列的值为“HR”,那么我想显示HR部门的电话号码。
那么,我该如何写一个查询呢?
我正在使用codeigniter。从两个mysql表中选择mysql查询
我们有两个mysql表。
我正在做的是将第一个表格中的所有细节提供给html页面以让所有用户查看它。但是现在我想添加一些与第一个表中的列相关的细节。
我的意思是,我在第一个表中调用“Pending_on”的列中插入了一些分支名称 ,并在第二个表中插入了这些部门的联系详细信息。
因此,如果我们认为在第一个表第五行pending_on列的值为“HR”,那么我想显示HR部门的电话号码。
那么,我该如何写一个查询呢?
对于你的情况,这里有一个例子:
有2台名为进入和订阅。
entry
field1 publisherId
field2 entry
subscription
field1 myId
field2 friendId
您可以使用JOIN 。在普通的SQL:
SELECT e.publisherId, e.entry
FROM entry e
JOIN subscription s
ON s.friendId = e.publisherId
WHERE s.myId = 1234
让我们把你的例子。您的第一个表中有一个名称为pending_on的名称,在第二个表中有您的department_name列。找到下面的代码用于连接这两个表,
$this->db->select('firsttable.*,secondtable.contact_details');
$this->db->from('firsttable');
$this->db->join('secondtable', 'firsttable.pending_on = secondtable.department_name','left');
$query = $this->db->get();
所以,在第一个表中的第二个表和pending_on的部门名称应具有相同的价值,你提到的“HR”。我的建议是将表的ID作为参考而不是部门名称。希望这可以帮助。
这是行得通的,但如果两个表中都没有匹配的项目,则此查询不会给出我任何事情。但我想要的是我需要采取第一张表的所有行,如果有或没有匹配的项目都在 – Yasitha
$ this-> db-> join('secondtable','firsttable.pending_on = secondtable.department_name','left “); 希望这会满足你的条件! :) –
**'$ this-> db-> join('secondtable','firsttable.pending_on = secondtable.department_name','left');'**希望这会满足您的条件! :) –
这是我用来做我的工作的查询
谢谢去MR。 Yuvvaraj Bathrabagu
$ this-> db-> select('*'); $ this-> db-> from('new_users'); $ this-> db-> join('contact','new_users.pending_on = contact.dep','left'); $ query = $ this-> db-> get(); $ data = $ query-> result_array();
你需要的是连接查询,你可以在这里找到更多的信息:http://ellislab.com/codeigniter/user-guide/database/active_record.html#select –
其实我不知道该怎么做。你能告诉我怎么样? – Yasitha