2013-07-16 44 views
1

我正在開發一個應用程序,在哪裏定義了下列表格。CodeIgniter從兩個以上的表中獲取記錄

storytags 
id cover_title     user_id 
1 love happens two times?   1 
2 revolution 2020     2 
3 wings of fire     3 
4 night at the call centre  4 

storytag_invitations 
id storytag_id user_id 
1  1   1 
2  2   2 
3  3   3 
4  4   4 
users 
id name 
1 suhas 
2 sangu 
3 praveen 
4 sangamesh 

我想取storytags其中storytag_invitations.user_id!= storytags.user_id和storytag_invitations.storytag_id!= storytags.id 3

我試過下面的查詢

select storytags.cover_title 
from storytag_invitations 
join storytags 
on storytags.id != storytag_invitations.storytag_id and storytags.user_id != storytag_invitations.user_id 
where storytag_invitations.user_id = 3 
用戶

但我得到重複的行。請提出一些解決方案。我正在嘗試這兩天。這項工作將更受讚賞。如果你的作品

回答

1

您的SQL工作對我來說,當我從使用方法:

select s.cover_title 
    from storytag_invitations si, storytags s 
where s.id != si.storytag_id 
    and s.user_id != si.user_id 
    and si.user_id = 3 

您可以點擊此處查看:http://sqlfiddle.com/#!4/ecd77/4

1

嘗試:

$sql = "select storytags.cover_title from storytags, storytag_invitations where (storytags.id != storytag_invitations.storytag_id and storytags.user_id != storytag_invitations.user_id) and storytag_invitations.user_id = 3"; 
$rs  = $this->db->query($sql); 
2
//if you are using codeigniter then try this 
$this->db->select("table1.column1,table1.column2,table2.column"); 
$this->db->join("table2","table1.column = table2.column"); 
$resultset=$this->db->get(); 
相關問題