查询JOIN / *覆盖*字段

时间:2013-09-30 23:22:04

标签: sql join

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

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`;

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

2,当我执行查询时,我得到了结果:

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

有没有办法将第二次加入的结果添加到最右边的列? 此外,是否可以组合First Name和Last Name中的字符串/ VARCHAR,然后将该值显示在相应的Actor字段下? (在第1行的第1号演员下面的字段将是“摩根弗里曼”而不是“1”)

感谢。

1 个答案:

答案 0 :(得分: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

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