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

如何通过关联ID多表查询指定列?SQL查询无结果求修正

问题分析与解决方案

你的查询语句查不到结果的核心原因是WHERE子句的关联条件完全错误:你把字符串类型的movieName、location分别和整数类型的movieID、theatreID做等值匹配,逻辑不成立,自然返回空结果。

要实现用movieName替代movieID、location替代theatreID查询Schedule数据的需求,需要用正确的关联条件将三张表连接起来,以下是两种可行的写法:

写法1:显式INNER JOIN(推荐,可读性更强)

scheduleQuery = '''
SELECT scheduleID, movieName, location, date, time
FROM Schedule
INNER JOIN Movies ON Schedule.movieID = Movies.movieID
INNER JOIN Theatre ON Schedule.theatreID = Theatre.theatreID
'''

写法2:隐式连接(逗号分隔表加正确WHERE条件)

scheduleQuery = '''
SELECT scheduleID, movieName, location, date, time
FROM Schedule, Movies, Theatre
WHERE Schedule.movieID = Movies.movieID 
  AND Schedule.theatreID = Theatre.theatreID
'''

这两种写法逻辑一致:通过Schedule表中的movieID关联Movies表获取对应的movieName,通过theatreID关联Theatre表获取对应的location,最终返回你需要的字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 17:24:27