mysql查询从两个mysql表中选择

时间:2013-10-02 09:52:37

标签: php mysql codeigniter

我正在使用codeigniter。

我们有两个mysql表。

我正在做的是获取第一个表格中的所有细节并将其提供给html页面以让所有用户查看它。但是现在我想从与第一个表中的列相关的第二个表中添加一些细节。

我的意思是,我在第一个表中有一个列调用“Pending_on”,在该列中我插入了一些分支名称 在第二个表格中,我插入了这些部门的联系方式。

所以,如果我们在第一个表中认为第五行pending_on列的值为“HR”,那么我想显示HR部门的电话号码。

那么,我该如何为此编写查询?

3 个答案:

答案 0 :(得分:2)

对于您的情况,这是一个例子:

有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

答案 1 :(得分:1)

让我们举个例子吧。在第一个表中有一个列名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();

因此,第二个表中的department_name和第一个表中的pending_on应该与您提到的“HR”具有相同的值。我的建议是将表的id作为参考而不是部门名称。希望这会有所帮助。

答案 2 :(得分:1)

这是我用来做我的工作的查询

谢谢MR。 Yuvvaraj Bathrabagu

$这 - > DB->选择( '*');       $这 - > DB-肽从( 'NEW_USERS');       $ this-> db-> join('contact','new_users.pending_on = contact.dep','left');       $ query = $ this-> db-> get();       $ data = $ query-> result_array();