You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关联rental与film表查询影片标题返回空列的问题求助

问题排查与解决方案
  • 核心问题:关联条件逻辑错误
    rental.last_update = film.last_update这个关联方式完全不符合业务逻辑。rental表的last_update是租赁订单记录的更新时间,film表的last_update是影片基础信息(如标题、分类)的更新时间,两者语义毫无关联,几乎不存在相等的情况,这直接导致内连接后没有匹配数据,返回空结果。

  • 正确的表关联逻辑
    在标准的DVD租赁数据库(如Sakila示例库)中,表之间的关联关系需要通过业务外键实现:
    rental表通过inventory_id关联inventory表,inventory表再通过film_id关联film表。修正后的SQL语句如下:

SELECT film.title
FROM rental
INNER JOIN inventory ON rental.inventory_id = inventory.inventory_id
INNER JOIN film ON inventory.film_id = film.film_id
WHERE return_date BETWEEN '2005-05-29' AND '2005-05-30'
  • 验证步骤
  1. 先确认rental表在指定日期范围内有数据:
    SELECT COUNT(*) FROM rental WHERE return_date BETWEEN '2005-05-29' AND '2005-05-30';
    
  2. 检查inventory表的inventory_id是否与rental表的对应字段存在匹配记录,film表的film_id是否与inventory表的对应字段存在匹配记录,确保外键关联关系正常。

内容的提问来源于stack exchange,提问作者Nora

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 05:05:14