首页 > 解决方案 > 在单个查询中从多个表中获取数据

问题描述

我有桌子

尼德 名字
1 网络 1
2 网络 2
3 网络 3
席位 名字 s_nid
1 显示 1 1
2 显示 2 1
3 显示 3 2
开斋节 姓名 e_sid
1 第1集 1
2 第 2 集 1
3 第1集 2
埃里德 正确值 er_eid
1 4 1
2 4 1
3 2 2

如何使用 nid 1 获得所有节目,同时获得每个节目的剧集和每集的收视率?

如果不运行许多查询,这是否根本不可能?

标签: phpmysqlsql

解决方案


您只需要使用 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

推荐阅读