Php 从两个mysql表中选择的mysql查询

Php 从两个mysql表中选择的mysql查询,php,mysql,codeigniter,Php,Mysql,Codeigniter,我用的是codeigniter 我们有两个mysql表 我正在做的是获取第一个表中的所有细节,并将其提供给一个html页面,让所有用户都可以查看它。但现在我想从与第一个表中的列相关的第二个表中添加一些细节 我的意思是,我在第一个表中有一列叫做“Pending_on”,在该列中我插入了一些分支名称 在第二个表格中,我插入了这些部门的联系方式 因此,如果我们认为在第一个表中,第五行pending_on列的值为“HR”,那么我想显示人力资源部门的电话号码 那么,我该如何为此编写查询呢?对于您的情况,下

我用的是codeigniter

我们有两个mysql表

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

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

因此,如果我们认为在第一个表中,第五行pending_on列的值为“HR”,那么我想显示人力资源部门的电话号码


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

对于您的情况,下面是一个示例:

有两个表名为entrysubscription

      entry
        field1    publisherId
        field2    entry

      subscription
        field1   myId
        field2   friendId
您可以使用连接。在纯SQL中:

SELECT e.publisherId, e.entry
FROM entry e
JOIN subscription s
ON s.friendId = e.publisherId
WHERE s.myId = 1234

对于您的情况,以下是一个示例:

有两个表名为entrysubscription

      entry
        field1    publisherId
        field2    entry

      subscription
        field1   myId
        field2   friendId
您可以使用连接。在纯SQL中:

SELECT e.publisherId, e.entry
FROM entry e
JOIN subscription s
ON s.friendId = e.publisherId
WHERE s.myId = 1234

让我们以你为例。在第一个表中有一个待定的列名,在第二个表中有一个部门名列。查找以下连接这两个表的代码

$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();

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

让我们以你为例。在第一个表中有一个待定的列名,在第二个表中有一个部门名列。查找以下连接这两个表的代码

$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();

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

这是我在工作中使用的查询

感谢尤瓦拉杰·巴塔拉巴古先生

$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()

这是我工作时使用的查询

感谢尤瓦拉杰·巴塔拉巴古先生

$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()

您需要的是连接查询,您可以在这里找到更多信息:实际上我不知道如何做。你能告诉我怎么做吗?你需要的是加入查询,你可以在这里找到更多的信息:实际上我不知道怎么做。你能告诉我怎么做吗?我能在没有Where线索的情况下使用它吗?是的,但它会得到多行。是的,你肯定可以使用join查询,而不使用Where子句,但是它会导致多条记录!这应该涵盖它,但您可能希望左外部联接从第一个表中带回行,即使没有匹配的挂起记录,代码也应该这样做。您是否直接在数据库上尝试过(即通过phpmyadmin或类似方式)?虽然您可能也需要从contact表中输出字段(如果没有匹配的行,这些字段的值将为NULL),但我可以在没有Where线索的情况下使用它吗?是的,但它将获得多行。是的,您肯定可以使用join query而不使用Where子句,但是它将导致多个记录!这应该涵盖它,但您可能希望左外部联接从第一个表中带回行,即使没有匹配的挂起记录,代码也应该这样做。您是否直接在数据库上尝试过(即通过phpmyadmin或类似方式)?虽然您可能还需要从contact表中输出字段(如果没有匹配行,那么这些字段的值将为NULL),但这是可行的,但是如果两个表中都没有匹配项,则此查询不会提供任何信息。但我想要的是,如果$this->db->join('secondtable','firsttable.pending_on=secondtable.department_name','left')中有或没有匹配项,我需要获取第一个表的所有行;希望这能满足您的条件!!:)<代码>$this->db->join('secondtable','firsttable.pending_on=secondtable.department_name','left')希望这能满足您的条件!!:)这个查询完成了我的工作谢谢Yuvaraj Bathrabagu先生$this->db->join('contact','new_users.pending_on=contact.dep','left');这是可行的,但如果两个表中都没有匹配项,则此查询不会提供任何信息。但我想要的是,如果$this->db->join('secondtable','firsttable.pending_on=secondtable.department_name','left')中有或没有匹配项,我需要获取第一个表的所有行;希望这能满足您的条件!!:)<代码>$this->db->join('secondtable','firsttable.pending_on=secondtable.department_name','left')希望这能满足您的条件!!:)这个查询完成了我的工作谢谢Yuvaraj Bathrabagu先生$this->db->join('contact','new_users.pending_on=contact.dep','left');