sql查询连接三个表
问题描述:
我必须从选择id
选择从tbl_ticket_categories
category name,description,id
我一定要找到从tbl_ticket_repliers
的user_id
,并从user_id
我一定要找到从tbl_users
的username
。sql查询连接三个表
最后选定的属性应该是category_name, description and username
。 我在做什么我的看法是: -
function editCategory($site_referers_id) {
$this->db->select('tbl_ticket_categories.category_name,tbl_ticket_categories.description,tbl_users.username,tbl_ticket_repliers.user_id');
$this->db->where('site_referers_id',$site_referers_id);
$this->db->join('tbl_ticket_repliers','tbl_ticket_repliers.category_id = tbl_ticket_categories.id');
$this->db->join('tbl_users','tbl_users.id = tbl_ticket_repliers.user_id');
return $this->db->get('tbl_ticket_categories');
}
在我看来,当我做<?php var_dump($categories); ?>
它显示: -
object(CI_DB_mysql_result)[32]
public 'conn_id' => resource(43, mysql link persistent)
public 'result_id' => resource(81, mysql result)
public 'result_array' =>
array
empty
public 'result_object' =>
array
empty
public 'custom_result_object' =>
array
empty
public 'current_row' => int 0
public 'num_rows' => int 1
public 'row_data' => null
如何做到这一点查询:(
我表格为: -
tbl_ticket_categories(id , category_name , description , site_referers_id)
tbl_ticket_repliers(id , user_id , category_id , site_referer_id)
tbl_users(id , role_id , username , password)
解决
答
,这是正确的查询,问题是我写的,而不是result_array result_array( ),下次我删除整个句子并使用var_dump()。
对不起
答
function editCategory($site_referers_id) {
$this->db->select('tbl_ticket_categories.category_name,tbl_ticket_categories.description,tbl_users.username,tbl_ticket_repliers.user_id');
$this->db->where('site_referers_id',$site_referers_id);
$this->db->join('tbl_ticket_repliers','tbl_ticket_repliers.category_id = tbl_ticket_categories.id');
$this->db->join('tbl_users','tbl_users.id = tbl_ticket_repliers.user_id');
return $this->db->get('tbl_ticket_categories')->result_array();
}
添加result_array()
上面的查询和print_r() instead of var_dump
你看到的结果
您可以添加表结构吗?然后可能更容易完全理解你的问题。 – 2012-07-28 09:46:34
@ArnoMoonen我添加了我的表格结构 – avinashse 2012-07-28 09:53:24