2016-07-26 79 views
-1

我试图根据用户ID连接两个表。我有两个表pr_resignation_requests(列名:userids)和pr_users_details(列名:userid)。我想选择两个表中的所有条目,其中userid = ".$val."。我收到此错误:获取错误:每个派生表都必须具有自己的别名

错误编号:1248

每个派生的表必须有它自己的别名

SELECT * FROM pr_resignation_requests LEFT JOIN(SELECT名字,姓氏FROM pr_users_details其中userid = 81

我的控制器代码是:

function view_exit_details(){ 
 
\t \t \t global $SITE,$USER; 
 
\t \t \t $data = array(); 
 
\t \t \t $data['row'] = new stdClass(); 
 
\t \t \t $data['row'] = $this->admin_init_elements->set_post_vals($this->input->post()); 
 
\t \t \t $data['error_message'] = ''; 
 
\t \t \t $data['row']->id = $data['id'] = $this->uri->segment(3); \t 
 
\t \t \t 
 
\t \t \t $data['action'] = 'add'; 
 
\t \t \t $data['heading'] = 'Add'; \t \t \t 
 
\t \t \t $data['msg_class'] = 'sukses'; 
 
\t \t \t 
 
\t \t \t 
 
\t \t \t $data['path']=$path; \t \t 
 
\t \t \t $post_action = $this->input->post('action'); 
 
\t \t \t if($post_action=='add' || $post_action =='update'){ 
 
\t \t \t \t $post_array = $this->input->post(); 
 
\t \t \t \t $action = ($post_action == 'add')?'inserted':'updated'; 
 
\t \t \t \t $data['error_message'] = $this->exit_common->add_edit_attendance_issue($post_array,$action); 
 
\t \t \t \t 
 
\t \t \t } 
 
\t \t \t if($data['id']>0){ 
 
\t \t \t \t \t $data['rows']=$this->exit_common->get_cat_array2('pr_resignation_requests','id',$data['id'],''); 
 
\t \t \t \t \t 
 
\t \t \t \t \t $data['action'] = 'update'; 
 
\t \t \t \t } 
 
\t \t \t $this->data['maincontent'] = $this->load->view('maincontents/view_resignation_action', $data,true); 
 
\t \t \t $this->load->view('layout', $this->data); 
 
\t \t \t 
 
\t \t }

我的模型代码是:

\t \t function get_cat_array2($table_name,$col=NULL,$val=NULL,$orderby=NULL){ 
 
\t \t \t 
 
\t \t \t $result=array(); 
 
\t \t \t $sql = "SELECT * FROM `".$table_name."` LEFT JOIN(SELECT firstname,lastname FROM pr_users_details WHERE userid = `".$val."`)"; 
 
\t \t \t 
 

 
\t \t \t $query=$this->db->query($sql); \t 
 
\t \t \t 
 
\t \t \t if($query->num_rows() > 0){ 
 
\t \t \t \t $result=$query->result(); 
 
\t \t \t } 
 
\t \t \t return $result; 
 
\t 
 
\t \t \t 
 
\t \t \t 
 
\t \t }

+2

的可能的复制[每个派生的表必须有自己的别名】(HTTP ://www.stackoverflow.com/questions/1888779/every-derived-table-must-have-its-own-alias) – 1000111

+0

请通过join table synta x,在哪里检查 – riya

+0

@riya。改变查询:\t \t \t $ SQL = “SELECT * FROM '” $表名 “' LEFT JOIN pr_users_details ON pr_resignation_requests.userids = pr_users_details.userid;”。得到相同的错误 –

回答

0

使用下面的代码片段:

SELECT * 
FROM pr_resignation_requests 
LEFT JOIN 
    (
     SELECT firstname,lastname FROM pr_users_details WHERE userid = 81; 
    ) AS a ON (add u r code of primary key checking) 
+0

$ SQL = SELECT * FROM LEFT JOIN ( SELECT名字,姓氏FROM pr_users_details其中userid = 81; )pr_resignation_requests AS一个ON(pr_resignation_requests.userids = pr_users_details.userid); –

+0

@ShashankBhat什么是错误呢? (pr_resignation_requests.userids = a.userid) – riya

+0

$ sql = SELECT * FROM pr_resignation_requests LEFT JOIN ( SELECT firstname,lastname FROM pr_users_details WHERE userid = 81; )AS ON(pr_resignation_requests.userids = a.userid);还在空白页 –

相关问题