我有大约30张桌子。例如:与电影有关的制片人,导演等
每个表都包含movie_id和celeb_id字段
有一个表名人,其中包括字段:celeb_id celeb_name
对于特定的movie_id,我希望在单个查询中检索所有信息。
SELECT b_movies.*, bb_celebs.celeb_name
FROM b_movies
LEFT JOIN b_producer ON b_movies.id = b_producer.movie_id
LEFT JOIN bb_celebs ON b_producer.celeb_id = bb_celebs.celeb_id
LEFT JOIN b_director ON b_movies.id = b_director.movie_id
LEFT JOIN bb_celebs ON b_director.celeb_id = bb_celebs.celeb_id
WHERE b_movies.id = 'UNIQUE ID';
我想要与工作类型相关的明星名字:
Director
1. ABC
2. XYZ
Producer
1. ABC2
2. XYZ2
所有明星名字都与celeb_id和celeb_name一起存储在明星表中 并且在生产者表movie_id和celeb_id中,相同的结构适用于董事等。所有其他表
请帮忙。
此致
Kenh
答案 0 :(得分:1)
SELECT ...
FROM ...
LEFT JOIN ... ON ...
WHERE ...
ORDER BY ...
...
的适当值留作OP的练习......
答案 1 :(得分:0)
(在c.celeb_id = d.celeb_id和d.movie_id =“movie_id”中选择'导演',来自celebs c的celeb.name加入导演d)
联合所有
(从celebs c中选择'Producer',celeb.name,在c.celeb_id = p.celeb_id上连接producer p,p.movie_id =“movie_id”)
联合所有人 .....