2012-05-10 10 views
0

すべてのユーザーアクティビティを格納するテーブルがあります。私はフィールドで "セッション" テーブルにそれを呼び出す:これに対して正しいSQLクエリは何ですか?

+--------------------------------------------------+ 
| id | content_type | content_id | action | 
+--------------------------------------------------+ 

CONTENT_TYPEが

CONTENT_IDは1 =ビデオ、2 =スライドショー、3 =フォーム、4 =調査、5 =ウェブサイト、6 =インタラクティブガイドをすることができ実際のコンテンツのID。たとえば、「ウェブサイト」テーブルがあります

+---------------------------------------------+ 
| id | name |   url   | 
+------------------+--------------------------+ 
| 3 | Google | http://www.google.com/ | 
+------------------+--------------------------+ 

アプリでは、ユーザーがgoogle.comのウェブサイトにアクセスしました。どのような「セッション」テーブルに保存されますと、次のとおりです。

+----------------------------------------------------------+ 
| content_type | content_id |   action   | 
+----------------------------------------------------------+ 
|  5  |  3  | Visited Google Website | 
+----------------------------------------------------------+ 

「ウェブサイト」(またはフォーム、ビデオ、など)テーブルのこれらの内容は、製品群の数に添付またはタグ付けすることができます。私はGoogleに3つの製品群を添付しなければならない例えば

+----------------------------------------------------+ 
| content_type | content_id | product_group_id | 
+----------------------------------------------------+ 

私は「attached_product_groups」そのテーブルの上に

という名前のテーブルにそれを格納することで、これを行う、私はフィールドを持っています。 COMのウェブサイトは、 "product_groups" テーブルから:

+----------------------------+ 
| id |  name   | 
+----------------------------+ 
| 3 | Mobile    | 
+----------------------------+ 
| 8 | Social Networking | 
+----------------------------+ 
| 9 | Adsense   | 
+----------------------------+ 

"attached_product_groups" テーブルには保存されます:

+----------------------------------------------------+ 
| content_type | content_id | product_group_id | 
+----------------------------------------------------+ 
|  5  |  3  |   3   | 
+----------------------------------------------------+ 
|  5  |  3  |   8   | 
+----------------------------------------------------+ 
|  5  |  3  |   9   | 
+----------------------------------------------------+ 

私の質問は、どのようにしてセタン製品グループのすべての「セッション」ログを選択するのですか?

私のアプリでは、製品グループのドロップダウンがあります。

私のような初心者を助けてくれてありがとう。 :)

答えて

0

は、それがコンテンツIDに基づいて、

選択sessions.content_id、web.name、セッション セッションからp.name、ウェブサイトをウェブ名とウェブサイトの製品を表示するために、クエリの下に作業することがありますウェブ、プロダクトp、attached_product_groups pgどこの sessions.content_id = web。 idとp.id = pg.product_group_id

+0

ご回答いただきありがとうございます。これを試してみます。 :) – MiD

関連する問題