2016-07-26 78 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);還在空白頁 –

相關問題