2016-05-24 15 views
2

DBに2つのテーブルがあります.1つはUserでuser_id、2つ目はuser_followerです。これにはuser_idとfollower_id(他のユーザーのuser_id)が含まれています。 私はユーザーリストを取得したいが、現在のユーザーのuser_followerテーブルに既に入っているユーザーを取得したくない。 たとえば、私はuser_id 1を持っており、このためのユーザーリストを取得したい、私はフォロワーとしてuser_followersにないすべてのユーザーが欲しい。 これで私を助けることができる人がいます。 をご覧ください。2つのテーブルから別のレコードを取得するSQLクエリ

私は

select user_id from user 
MINUS 
select user_id from user_followers 

を試みたが、私はこの上のエラーを取得し、それがmSQLの

+1

これまで何を試しましたか?いくつかのコードを表示できますか? – rsz

+0

ようこそ。 [よくある質問と回答](http://stackoverflow.com/help/on-topic)[よくある質問とその回答](http://stackoverflow.com/help/on-topic) -ask) [完全な質問](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) SOは**無料のコーディングやコード変換ではありません。チュートリアルまたは図書館所蔵サービス**あなた自身の問題を解決するために何らかの努力をしたことを示す必要があります。 – RiggsFolly

+0

@rszあなたは今私の質問を見ることができますか? –

答えて

3
SELECT t.user_id from user t 
WHERE NOT IN(SELECT uf.user_id FROM user_followers uf 
      WHERE uf.user_id = t.user_id); 
+0

ありがとう、これは私のために働く –

0

使用JOINによってサポートされていません。

select U.user_id from user U 
INNER JOIN user_followers UF ON U.user_id = UF.user_id 
0

下記問い合わせてみてください。

print_r($users_list->result_array()); 
0

select user_id from `user` where user_id not in (select user_id from user_followers) 
1

はTを試してサブクエリを使用した:結果を表示するには

$users_list = $this->db->select("u.*",FALSE) 
    ->from("user u") 
    ->join("user_follower uf","u.user_id != uf.user_id") 
    ->get(); 

//The query is: 
//SELECT u.* FROM user u INNER JOIN user_follower uf ON (u.user_id != uf.user_id) 

を彼の質問、それはあなたを助けるでしょう

SELECT `user`.`user_id` FROM `user` WHERE `user`.`user_id` NOT IN(select `user_id` from `user_followers`) 
関連する問題