sql - 加入时棘手的SQL

标签 sql mysql

我有两个表格、节目和对象。我想打印出最新的对象,以及它们的名称。现在我正在这样做:

SELECT MAX(objects.id) as max_id, shows.name, shows.id 
FROM shows, objects 
WHERE shows.id = objects.showId
GROUP BY shows.name 

但是,如果我还想获取对象的剧集,我不能像 SELECT object.episode [...] 那样放置它,因为那样不会自动选择对象是 MAX(objects.id),所以我的问题是如何做到这一点?

如果你还没有弄清楚我的表格,它们是这样的:

  • 演出
    • 身份证
    • 姓名

还有:

  • 对象
    • 身份证
    • 姓名
    • 剧集
    • 季节
    • 显示编号

使用 MySQL。

最佳答案

像这样(未经测试):

SELECT objects.id as max_id, objects.episode, shows.name, shows.id
  FROM shows, objects 
 WHERE shows.id = objects.showId
   AND objects.id = (
        SELECT MAX(id) FROM objects
         WHERE name = shows.name
       )

关于sql - 加入时棘手的SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2531365/

相关文章:

mysql - 在 SQL 或 mySQL 中,如何确定具有关联键的某人的最高总和?

mysql - 如果mysql表中存在则忽略插入?

php - PDO 插入不会抛出错误或插入表单数据

php - 是什么导致 CPU 负载如此之高(来自 MySQL)?

php - 使用 PHP 查询带有 IN 子句的 MySQL

MySQL 表由于某种原因递增 10

mysql - 在数据库表中选择相互编号

mysql - 使用 WHERE 子句查找经度和纬度距离范围内的 POI

php - 无法弄清楚为什么我不断收到 Mysql 错误

sql - 从 SQL 中几乎相似的记录中删除重复项