我正在PHP和MySQL中構建一個社交媒體新聞聚合web應用程序。它需要將各種URL(列url)映射到特定的趨勢(列trend_id)。這是我的虛擬數據結構:將多個查詢的行合併成一個
我需要建立一個查詢,以特定trend_id(例如12)獲取URL。這是簡單的:
選擇
url
FROMurl_table
WHEREtrend_id
= '12'
現在,一些趨勢都與特定父趨勢。例如trend_ids 12,16和45都與父trend_id 12.因此,這裏是我的查詢:
SELECT '12'
parent_trend_id
,url
FROMurl_table
WHERE(trend_id
= '12' ORtrend_id
= '16' ORtrend_id
= '45')
這裏的類似查詢的另一個示例:
SELECT '345' 作爲
parent_trend_id
,url
FROMurl_table
WHERE(trend_id
= '345' ORtrend_id
= '457' ORtrend_id
= '16')
的問題是,有多個這樣的父 - 趨勢之間的親子關係。截至目前,我在PHP中運行for循環並執行多個查詢。此外,鑑於我的應用程序的性質,父級趨勢不能成爲此表的一部分。有沒有一種方法可以讓單個查詢關聯多個這樣的查詢?
編輯:
我有一個單獨的表定義
孩子
關係。這是一個帶有ID,trend_id(父級)和related_trend_id(子級)的簡單3列表。然而,一個related_trend_id(子)可以有多個trend_id(父母)。這裏的關係表的快照:
我已更新我的查詢以使用此表...應該正常工作。 – Hogan 2012-07-27 20:29:52