简体   繁体   English

同一字段上的两个表之间的两个连接

[英]Two joins between two tables on the same field

I have a table in a MySQL database V_Activity_SameTimeActivity with two fields SameTimeActivityId and ActivityId.我在 MySQL 数据库 V_Activity_SameTimeActivity 中有一个表,其中有两个字段 SameTimeActivityId 和 ActivityId。 They are both fields which reference the Id field from ACTIVITY_V table.它们都是引用 ACTIVITY_V 表中的 Id 字段的字段。 I want to create a view that shows me the ACTIVITY_V.Name field for both sets of Id in the V_Activity_SameTimeActivity table.我想创建一个视图,显示 V_Activity_SameTimeActivity 表中两组 Id 的 ACTIVITY_V.Name 字段。 I can get one but not the other.我可以得到一个,但不能得到另一个。 This the query so far.这是到目前为止的查询。

SELECT
ACTIVITY_V.Name AS MasterActivity,
V_Activity_SameTimeActivity.ActivityId,
V_Activity_SameTimeActivity.SameTimeActivityId

FROM V_Activity_SameTimeActivity
INNER JOIN ACTIVITY_V ON V_Activity_SameTimeActivity.ActivityId = ACTIVITY_V.Id;

I also want ACTIVITY_V.Name AS SametimeActivity to show with V_Activity_SameTimeActivity.SameTimeActivityId joined on ACTIVITY_V.Id我还希望 ACTIVITY_V.Name AS SametimeActivity 显示 V_Activity_SameTimeActivity.SameTimeActivityId 加入 ACTIVITY_V.Id

you can join again ACTIVITY_V for your SameTimeActivityId mapping您可以为SameTimeActivityId映射再次加入ACTIVITY_V

SELECT
    t2.Name AS MasterActivity,
    t3.Name AS SameActivityName,
    t1.ActivityId,
    t1.SameTimeActivityId
FROM V_Activity_SameTimeActivity t1
LEFT JOIN ACTIVITY_V t2 ON t1.ActivityId = t2.Id;
LEFT JOIN ACTIVITY_V t3 ON t3.ActivityId = t1.SameTimeActivityId;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM