簡體   English   中英

MySQL查詢從多個表中檢索數據作為嵌套樹

[英]MySQL query to retrieve data from multiple tables as nested tree

在SO上發現了類似的問題,但沒有任何幫助。 這是我的問題:

我有一個表“ events”,它會很大。 另外,還有兩個表格:“照片”和“視頻”。 每個“事件”記錄都有一個eid(事件ID)。 每個“照片”和“視頻”記錄都有一個aeid(關聯的事件ID)。

為了獲取說20個事件的事件數據,我目前正在像這樣運行PHP:

array = get top 20 events
for these 20 events
  array['photos'] = get all photos
  array['videos'] = get all videos
return events array

我發現這運行太慢。 可能因為這等於41個mysql查詢。 我意識到我需要以某種方式使用JOIN(至少我想這樣做),但是我無法弄清楚我們如何構造查詢,以便它以與上述偽代碼相同的方式嵌套照片和視頻。 。 另外,我認為我沒有時間來切換到postgres(除非強烈建議); 我正在使用足夠大的代碼庫,以至於只有一個開發人員(我)感到頭疼。

如果您張貼文件/手冊,我願意閱讀。 但是,我已經在一些地方這樣做了,但無濟於事。 謝謝!

嘗試類似..

 SELECT E.eid, V.aeid, P.aeid 
 FROM events E, videos V, photos P 
 WHERE E.eid='$ID' and V.aeid='$ID' and P.aeid='$ID' 
 ORDER BY E.eid desc

未經測試,但您應該明白這一點

暫無
暫無

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

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