php - 在单个查询中从多个表中获取数据
问题描述
我有桌子
- 网络
尼德 | 名字 |
---|---|
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 |
- Episode_ratings
埃里德 | 正确值 | er_eid |
---|---|---|
1 | 4 | 1 |
2 | 4 | 1 |
3 | 2 | 2 |
如何使用 nid 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
推荐阅读
- javascript - 使用 combineReducers() 给出的运行时结果与单个 reducer 不同
- javascript - 利用 Bootstrap 4 的淡入淡出事件
- c# - Azure AD /signin-oidc 404 - 带有 .NET Core 2.0 的 NGINX 反向代理
- arrays - 在范围滑块角度中添加 json 数组响应
- vue.js - v-bind 类中的三元运算符用法
- java - Lottie - setProgress 无法正常工作
- c++ - 你能解释一下下面的代码吗?它编译得很好。它与检查给定类是否是另一个类的基础有关
- javascript - 如何根据 mouse_up 事件 AS3 上的动画剪辑 x 位置对动画剪辑数组进行排序
- python - 为什么输入列表的值正在改变?
- python - Python pandas to_sql 最多2100个参数