2017-05-26 45 views
1

我想從這個表中的所有行要合併兩個表如表

module table

該數據庫的查詢是

function getmodules(){ 
    $sql="SELECT * FROM module 
    WHERE status=1";    
    $query=$this->db->query($sql); 
    return $query; 
} 

,並從這個作爲查詢的書面

選定的行

permissions table

the查詢以上db是

function getmoduledtls($id){ 
    $sql="SELECT * FROM module m 
    INNER JOIN permissions p 
    ON p.moduleId=m.moduleId 
    WHERE m.status=1 
    AND p.roleId='$id'";       
    $query=$this->db->query($sql); 
    return $query; 
} 
+1

請更具體一些。你想達到什麼結果? –

+0

你需要什麼? – nacho

+0

預期結果? –

回答

0

您可以通過它選擇一個表中的所有字段的別名,即:M *,然後選擇從對所需的各個領域。請注意,如果m和p中的任何列具有相同的名稱,則將返回p的值。你需要給任何重複的字段別名一樣

'm.status as module_status, p.status as permission_status" 

SELECT m.*, p.permissionId, p.view, p.etc FROM module m 
    INNER JOIN permissions p 
    ON p.moduleId=m.moduleId 
    WHERE m.status=1 
    AND p.roleId='$id'" 

同時請注意,這個查詢是開放的SQL注入。 How can I prevent SQL injection in PHP?