簡體   English   中英

SQL查詢:引用同一查詢中兩個變量的另一個表數據

[英]SQL Query: Reference Another Table data for two variables in the same query

我正在嘗試運行MYSQL查詢,在該查詢中我需要兩次在源表中從源表獲得相同的“信息” ...讓我解釋一下:

2個表:“ 事件 ”和“已歸檔事件 ”。 “存檔事件”是一個“鏈接”-將當前打開的事件橋接到過去(關閉)的事件。 該表僅包含事件表中Event_ID的ID。

我要做的是獲取存檔表中每個組合的事件標題。

例如:

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

提前謝謝你的幫助! :)

這很簡單:

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
SELECT PK, e1.Event_Title AS ClosedEventID, e2.Event_Title AS CurrentEventID
FROM   ARCHIVE
  JOIN EVENTS AS e1 ON e1.Event_ID = ARCHIVE.ClosedEventID
  JOIN EVENTS AS e2 ON e2.Event_ID = ARCHIVE.CurrentEventID

sqlfiddle上看到它。

了解有關SQL連接的信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM