2014-11-24 62 views
0

我想用加入笨選擇多個表,但我不想做任何條件如下代碼如何在Codeigniter中選擇無條件地連接多個表?

public function get_invoice(){ 

    $this->db->select('isp.*,dp.*,ip.*'); 
    $this->db->from('isp'); 
    $this->db->join('dp','dp.status = isp.status'); 
    $this->db->join('isp','isp.status = ip.status'); 
    $this->db->limit(5000); 
    $this->query = $this->db->get(); 
    if($this->query->num_rows()>0){ 
     return $this->query->result(); 
    } 

} 

,但是我想在該表的所有數據,而無需條件,但在連接語句必須使用條件。

那麼如何從codeigniter中無條件地選擇多個表中的數據呢?

感謝您的幫助

+0

在給定條件中沒有記錄的情況下,您的查詢記錄數可以爲零。那你想要什麼? – 2014-11-24 09:02:17

+0

它不會工作,我想從3表中選擇數據,並沒有條件。那麼你有任何讓我選擇或不選擇的sql選項,或者我必須使用join嗎? – 2014-11-24 09:05:02

+0

您可以使用左連接。 – 2014-11-24 09:06:05

回答

3

是的,你可以加入查詢無條件。內左右連接需要condition.So你可以做跨JOIN.LIKE這

public function get_invoice(){ 

$this->db->select('isp.*,dp.*,ip.*'); 
$this->db->from('isp,dp,ip'); 
$this->db->limit(5000); 
$this->query = $this->db->get(); 
if($this->query->num_rows()>0) 
{ 
    return $this->query->result(); 
} 

} 

但在CROSS JOIN如果您的ISP有100個,DP具有20和IP有50記錄它會產生(100 * 20 * 50)記錄。我希望你知道CROSS,LEFT,INNER,RIGHT JOIN做什麼。

+0

哦,我絕對明白它現在感謝幫助 – 2014-11-24 10:00:25

+0

我不介意有人投票給我失望,但如果你是一個迴應的人,你應該保持一些推薦讓我知道爲什麼你必須投票下來的一些理由@ !!!!! ! – 2014-11-24 11:57:51

+0

我沒有投票downvote – 2014-11-24 14:03:17

相關問題