[英]SQL Select Statement on 1:M Recursive Relationship
我有下表:
電影ID | 電影名 | 父電影ID |
---|---|---|
1 | 行動 | NULL |
2 | 浪漫 | NULL |
3 | 喜劇 | NULL |
4 | 電影一 | 1 |
5 | 電影B | 1 |
6 | 電影 C | 2 |
7 | 電影 D | 2 |
8 | 電影 E | 2 |
9 | 電影 F | 3 |
10 | 電影 G | 3 |
11 | 電影 H | 3 |
我一直在嘗試根據 ID 將電影名稱 output 與下表匹配,但我在使用 select 語句時遇到問題。
電影ID | 電影名 | 父電影ID |
---|---|---|
1 | 行動 | NULL |
2 | 浪漫 | NULL |
3 | 喜劇 | NULL |
4 | 電影一 | 行動 |
5 | 電影B | 行動 |
6 | 電影 C | 浪漫 |
7 | 電影 D | 浪漫 |
8 | 電影 E | 浪漫 |
9 | 電影 F | 喜劇 |
10 | 電影 G | 喜劇 |
11 | 電影 H | 喜劇 |
您可以使用left join
:
select m.*, m1.moviename genre from movies m
left join (select m2.* from movies m2 where m2.parentmovieid is null) m1
on m.parentmovieid = m1.movieid
典型的LEFT JOIN
將提供您想要的信息:
select a.movieID, a.movieName, b.movieName
from movie a
left join movie b on b.MovieID = a.parentMovieID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.