4个表联接并找到一列的平均值

时间:2018-07-05 10:01:00

标签: mysql sql join

我有4张这样的桌子

  • 用户[id,名称,.....]
  • 餐厅[id,名称,.....]
  • 查看[restaurant_id,user_id]
  • 问题[id,review_id,分数]

    应用逻辑=> 人们可以评论的每家餐厅,评论都有一些问题, 问题总是一样的-例如口味,交货方式等。人们会在这些问题上打分。

换句话说,用户针对某些问题对餐厅进行评论

现在在我的Web应用程序中,我想在那里显示带有"Question table's score average"餐厅的列表。

我正在使用laravel。雄辩的查询生成器也会有所帮助。 我想将计算的字段作为average_rating,并将其与所有餐厅数据一起使用。

1 个答案:

答案 0 :(得分:0)

在以下四个表中,您只需要一个标准的INNER JOIN即可:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="graphics-select">
  <div>
    <input class="graph-init" type="radio" name="graphic-one-name" id="graphic-one-name" value="' . $mono_gram_font_graphic_1_sku . '" />
    <label for="graphic-one-name"><img class="image-one-graphics"  alt="" height="auto" width="auto" />One</label>
  </div>
  <div>
    <input class="graph-init" type="radio" name="graphic-one-name" id="graphic-two-name" value="' . $mono_gram_font_graphic_2_sku .'" />
    <label for="graphic-two-name"><img class="image-two-graphics"  alt="" height="auto" width="auto" />Two</label>
  </div>
  <div>
    <input class="graph-init" type="radio" name="graphic-one-name" id="graphic-three-name" value="' . $mono_gram_font_graphic_3_sku .'" />
    <label for="graphic-three-name"><img class="image-three-graphics" alt="" height="auto" width="auto" />Three</label>
  </div>


  <div class="parent">
    <div class="one">
      <img src="abc.jpg">
    </div>
    <div class="two">
      <img src="xyz.jpg">
    </div>
    <div class="three">
      <img src="ghk.jpg">
    </div>

  </div>

  <input type="text" id="testing" value="test" class="imagerep">

理论可以解释为:

    餐厅

    安排了
  • 所有 评论

  • 我们关心的是与 评论 中的 用户 em>餐厅

  • 所有 评论 中都包含 问题