什么是正确的SQL查询?

时间:2012-05-10 03:41:50

标签: php mysql

我有一个存储所有用户活动的表。我把它称为带有字段的“会话”表:

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

content_type可以是1 =视频,2 =幻灯片,3 =表格,4 =调查,5 =网站,6 =互动

content_id是实际内容的ID。例如,我有“网站”表

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

在应用上,用户访问了google.com网站。将在“会话”表中存储的内容是:

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

“网站”(或表格,视频等)表的这些内容可以附加或标记到多个产品组。

我通过将其存储到名为“attached_product_groups”

的表中来完成此操作 在那张桌子上,我有字段:

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

例如,我必须在“product_groups”表格中将3个产品组附加到google.com网站:

+----------------------------+
|  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          |
+----------------------------------------------------+

现在我的问题是,如何选择cetain产品组的所有“会话”日志?

鉴于我的应用程序,我有一个产品组的下拉列表。

非常感谢帮助像我这样的初学者。 :)

1 个答案:

答案 0 :(得分:0)

可以在查询下工作,根据内容ID

显示网站的网址和产品
  

从会话中选择sessions.content_id,web.name,p.name   会议,网站网站,产品p,attached_product_groups pg在哪里   sessions.content_id =网络。 id和p.id = pg.product_group_id