2012-02-14 7 views
-1

私は情報を取得するために複数のデータベースを持っています。私は、ユーザーが閲覧したページだけでなく、別のユーザーDBも表示しています。私がしようとしているのは、ユーザーが見たことのないすべてのページを見つけることです。この時点で、!= user_idを実行するだけでは、さまざまなページを閲覧した他のユーザーが表示されるため、機能しません。データベースからユーザーが見たことのないものを取得しようとしています

私は基本的にすべてのページレコードをチェックして、ユーザーがそこにいたかどうかを確認し、ユーザーが見たことのないIDを返す必要があります。

私はこの時点ででてるところです:

SELECT video_id, ads_general.id, id_inc, user_id 
FROM ads_general 
LEFT JOIN ads_viewed ON (
ads_viewed.video_id = ads_general.id 
) 

結果:

video_id id id_inc user_id 
gd27hcsc gd27hcsc 1 1 
k2ku1mkp k2ku1mkp 2 1 
umym9ivq umym9ivq 3 1 
umym9ivq umym9ivq 3 5 
5l66bd0f 5l66bd0f 4 1 
5l66bd0f 5l66bd0f 4 4 
NULL vvw54epx 5 NULL 

このクエリでは、ビデオやページを閲覧したユーザーのIDを示します。

+0

素敵なコミュニティ... –

答えて

0

user_idに属していない(見ていない)video_idsを選択しようとしていますか?

あなたはおそらくので、あなたのクエリにDISTINCT追加する必要があります。

SELECT DISTINCT video_id 
... 
WHERE User_Id != [user_id] 

これは、それぞれが一度だけ戻ってくることを保証します。

+0

それは正しいと思います。私はMYSQLに深く関心を向けようとしていますが、PHPを使用するよりも経験が少ないです。しかし、私はそれがアイデアだと信じています。主に私はビデオのリストを持っていると私はユーザーが見たことがないものを取得しようとしている。私はいつものようなループを使ってランダムなビデオ撮影をすることができると知っていますが、ランダムに選択するビデオの正しいリストを持つことが私の目的です。提案してくれてありがとう - 家に帰るときに試してみる –

関連する問題