我有桌子
nid | 姓名 |
---|---|
1 | 网络 1 |
2 | 网络 2 |
3 | 网络 3 |
sid | 名字 | s_nid |
---|---|---|
1 | 显示 1 | 1 |
2 | 显示2 | 1 |
3 | 显示 3 | 2 |
开斋节 | 名字 | e_sid |
---|---|---|
1 | 第一集 | 1 |
2 | 第二集 | 1 |
3 | 第一集 | 2 |
erid | 值 | er_eid |
---|---|---|
1 | 4 | 1 |
2 | 4 | 1 |
3 | 2 | 2 |
如何获取所有带有 nid 1 的节目,同时获取每个节目的剧集和每集的收视率?
如果不运行许多查询,这是不可能的吗?
答案 0 :(得分:1)
您只需要使用 JOIN 对此进行一个查询。请阅读有关如何使用 JOIN 的参考资料,例如 JOIN Reference 。表之间的关系已经就位。您可以尝试使用此查询来获取每个表中的所有列。只需使用您需要的特定列修改 *。
SELECT *
FROM Networks
INNER JOIN Shows
ON Networks.nid = Shows.s_nid
INNER JOIN Episode
ON Shows.sid = Episode.e_sid
INNER JOIN Episode_ratings
ON Episode.eid = Episode_ratings.er_eid
WHERE Networks.nid = 1