当用户有多个表与我想要的结果相关联时,如何查询数据库?

时间:2010-11-10 05:43:22

标签: php sql

我对这个问题感到难过,或者只是到深夜才开始逻辑思考; -0

我有一个电影数据库,每部电影都有一个开始和结束日期。

查询数据库以获取电影名称并开始,结束日期......我没有问题。

我的问题是电影可能有多个与之相关的人,或者用户可以有多个与之相关的电影。

所以例如:

Sue想制作电影“血腥”,她将开始日期设定为2010-11-09,结束日期为2011-11-10,这是1年1天。

但现在Sue想在不同的日子制作另一部电影'鱼'。

我的问题在这里,我如何查询这个,以便我可以一次回应一部电影的结束日期和开始日期之间的时间差异。

我的最终结果是我要做的是有一个小盒子,列出她正在制作的所有电影,然后列出每部电影的开始,结束日期。

我知道我可以在jquery中执行此操作并以某种方式获取当前电影并执行ajax调用以查询类似

的内容

select movie_name, start, end, from movies where id = 'sue' and movie_name = $(.selector).val()

这是我的主意,但我想要一个php版本。

关于如何做到这一点的任何想法?

我很惊讶,一部电影最终会有50人与之相关,而这50人可能会有不止一部电影。

我有一个名为projects的表,其中包含那些字段

1 个答案:

答案 0 :(得分:2)

仅使用一个表就无法做到这一点。由于这是人与电影之间的多对多关系(每个人可以参与多部电影,每部电影与多人有关),因此需要三张桌子。一个表有人,一个表有电影,第三个表包含前两个表之间的关联。它只需要两列,即人的ID和电影的ID。

如果sue涉及电影1,2和3,则关联表中将有3行。您将加入SELECT查询中的三个表,以获取用户的电影列表或电影的用户列表。