我正在用 PHP 和 MySQL 构建一个社交媒体新闻聚合 Web 应用程序。它需要将各种 URL(列 url)映射到特定趋势(列trend_id)。这是我的虚拟数据结构:
我需要构建一个查询来获取特定trend_id(例如12)的URL。这很简单:
url
从url_table
哪里选择trend_id
= '12'
现在,一些趋势与特定的父趋势相关。例如trend_ids 12,16 和45 与父trend_id 12 相关。所以这是我的查询:
选择“12”作为
parent_trend_id
,url
从url_table
哪里(trend_id
=“12”或trend_id
=“16”或trend_id
=“45”)
这是另一个类似查询的示例:
选择“345”作为
parent_trend_id
,url
从url_table
哪里(trend_id
=“345”或trend_id
=“457”或trend_id
=“16”)
问题是趋势之间存在多种这样的父子关系。到目前为止,我在 PHP 中运行了一个 for 循环并执行多个查询。此外,鉴于我的应用程序的性质,父趋势不能成为此表的一部分。有没有办法让一个查询包含多个这样的查询?
编辑:
我有一个单独的表来定义子关系。这是一个简单的 3 列表,具有 ID、trend_id(父)和 related_trend_id(子)。但是,一个related_trend_id(子)可以有多个trend_id(父)。这是关系表的快照: