我试图在sql问题上做一些练习问题,因为我意识到我在这些问题上很挣扎。

我一直在浏览我的示例数据库,并试图列出餐厅名称,检查日期和总得分,但只会显示每个餐厅最近检查的日期。

餐馆有一个摆脱,它是检验的外键和名称。检验要有检验单,检验单(检验日期)和总分。

我如何获得带有最近检查分数和检查日期的餐馆列表?

SELECT i.idate, r.name, i.totalscore
FROM restaurant r
JOIN inspection i
ON r.rid = i.rid where
 i.idate = (SELECT i1.idate
                  FROM restaurant r1
                  JOIN inspection i1
                  ON r1.rid = i1.rid
          order by idate desc limit 1
                  );


谢谢!

最佳答案

那要容易得多

SELECT
    i.idate, r.name, i.totalscore
FROM restaurant r
JOIN inspection i
ON r.rid = i.rid
where 1
GROUP BY r.name ORDER BY i.idate desc

09-20 09:58