gpt4 book ai didi

php - 比较 3 个表中的列值 - MySQL

转载 作者:行者123 更新时间:2023-11-29 13:04:58 29 4
gpt4 key购买 nike

以下问题:

我正在使用 3 个表 = Actor 、电影、角色。我试图通过比较特定 Actor ID 来查找给定 Actor (例如“罗宾·威廉姆斯”)出演的所有电影,因为可能有多个 Actor 同名。类型转换具有以下相关列:first_name、last_name、id - 电影表具有以下列:id(电影的 id) - 角色表具有:actor_id 和 movie_id。

我是加入表还是使用 UNION?当列具有不同名称时,如何比较不同表中的列?

谢谢!

仅供引用:

表 Actor :

mysql> SELECT *
-> FROM actors;
+--------+--------------------+------------------------+--------+------------+
| id | first_name | last_name | gender | film_count |
+--------+--------------------+------------------------+--------+------------+
| 933 | Lewis | Abernathy | M | 1 |
| 2547 | Andrew | Adamson | M | 1 |
| 2700 | William | Addy | M | 1 |

table 上电影:

mysql> SELECT *
-> FROM movies;
+--------+------------------------------+------+------+
| id | name | year | rank |
+--------+------------------------------+------+------+
| 10920 | Aliens | 1986 | 8.2 |
| 17173 | Animal House | 1978 | 7.5 |
| 18979 | Apollo 13 | 1995 | 7.5 |

表角色:

mysql> SELECT *
-> FROM roles;
+----------+----------+-------------------------------+
| actor_id | movie_id | role |
+----------+----------+-------------------------------+
| 16844 | 10920 | Lydecker |
| 36641 | 10920 | Russ Jorden |
| 42278 | 10920 | Cpl. Dwayne Hicks |

起初我尝试将每个检查设置为等于 PHP 变量并比较它们,但这似乎是错误的,然后我尝试:

mysql> SELECT roles.actor_id, roles.movie_id, movies.id, actors.id
-> FROM roles
-> JOIN movies, actors
-> ON roles.actor_id = actors.id && roles.movie_id =movies.id;

这又不起作用。

最佳答案

终于明白了..

>SELECT m.name, m.year
-> FROM movies m
->JOIN roles r ON m.id = r.movie_id
->JOIN actors a ON a.id = r.actor_id
->WHERE a.first_name = "whatever actor's first name"
->AND a.last_name = "whatever actor's last name"

这将为您提供两列,其中包含相应的名称和年份!哈扎!

关于php - 比较 3 个表中的列值 - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22844859/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com