1:M递归关系下SQL Select语句查询替换父级电影名称方法咨询
解决方案
你需要通过自左连接查询同一张表的父子关联关系,即可将父类ID替换为对应的分类名称,假设你的表名为movies,正确的SQL语句如下:
SELECT m.MovieID, m.movieName, p.movieName AS parentMovieID FROM movies m LEFT JOIN movies p ON m.parentMovieID = p.MovieID ORDER BY m.MovieID ASC;
语句说明
- 用别名
m代表主表,取出所有原始的MovieID和movieName信息 - 用别名
p代表父分类关联表,通过m.parentMovieID = p.MovieID的条件关联到父分类记录 - 使用
LEFT JOIN而非内连接,保证顶级分类(parentMovieID为NULL)不会被过滤掉 - 最终将父分类的
movieName别名设置为parentMovieID,即可得到你需要的输出结构 - 如果你的实际表名和示例不同,把语句中的
movies替换为你的实际表名即可
内容的提问来源于stack exchange,提问作者user17527939
相关产品推荐
相关产品推荐

