2017-05-26 61 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?