我正在尝试运行MYSQL查询,我需要在目标中两次从源表中获取相同的“一块”信息... 让我解释一下:
2个表格:“活动”和“已存档的活动”。 “存档事件”是一个“链接” - 将当前的公开事件与过去(关闭)事件联系起来。 该表仅包含Events表中Event_ID的id。
我想要做的是获取存档表中每个组合的事件标题。
EG:
-----------------------------------
| ARCHIVE TABLE |
|PK|ClosedEventID |CurrentEventID |
|1 | 5 | 3 |
|2 | 2 | 3 |
-----------------------------------
-----------------------------------------
| EVENTS TABLE |
|Event_ID | Event_Title | ............. |
| 1 | Party 1 | ............. |
| 2 | Party 2 | ............. |
| 3 | Wedding 1 | ............. |
| 4 | Funeral 1 | ............. |
| 5 | Pancake | ............. |
----------------------------------------
我猜它会成为一个联盟或一个联盟或其他东西;我的SQL是公平的,但是我的头脑正在努力解决这个问题。
所以我想要做的是,一旦运行了查询,存档事件表中的每个'对'都会显示为这样(这样我就可以在PHP中处理它了......):
-----------------------------------
| ARCHIVE TABLE |
|PK|ClosedEventID |CurrentEventID |
|1 | Pancake | Wedding 1 |
|2 | Party 2 | Wedding 1 |
-----------------------------------
提前感谢您的帮助! :)
答案 0 :(得分:4)
这很简单:
SELECT
a.pk as "pk",
e1.event_title as "closed_event",
e2.event_title as "current_event"
FROM
events as e1
JOIN archive as a on e1.event_id = a.closed_event_id
JOIN events as e2 on a.current_event_id = e2.event_id
答案 1 :(得分:2)