0

我不确定我是否使用了正确的术语。

SELECT movies.*, actors.`First Name`, actors.`Last Name`
From movies
Inner Join actors on movies.`actor1` Where movies.`actor1` = actors.`indexActors`;
#Inner Join actors on movies.`actor2` Where movies.`actor2` = actors.`indexActors`;

我已将第二行注释掉,每一行都单独工作,我想知道如何将它们组合起来。

第二,当我执行查询时,我得到结果:

ID  Title                   Runtime Rating  Actor1  Actor2  First Name Last Name
1   Se7en                   127     R       1       2       Morgan     Freeman
2   Bruce Almighty          101     PG-13   1       3       Morgan     Freeman
3   Mr. Popper's Penguins   94      PG      3       4       Jim        Carrey
4   Superbad                113     R       4       5       Emma       Stone
5   Crazy, Stupid, Love.    118     PG-13   4       Null    Emma       Stone

有没有办法将第二个连接的结果添加到最右边的列?此外,是否可以组合名字和姓氏中的字符串/VARCHAR,然后将该值显示在相应的 Actor 字段下?(又名第 1 行的 Actor 1 下的字段将是“Morgan Freeman”而不是“1”)

谢谢。

4

1 回答 1

0

您的 sql 无效,但您可以通过使用不同的别名两次加入同一个表来实现您的目标。这种事

select blah blah blah
from table1 t1 join table2 t2 on t1.field1 = t2.field1
join table2 t2_again on t1.field1 = t2_again.field2
etc

至于在单个字段中连接名字和姓氏,大多数数据库都有连接字符串的方法,但它们并不完全相同。您必须指定您的数据库引擎。

于 2013-09-30T23:47:10.430 回答