gpt4 book ai didi

php - 将多个查询的行合并为一个

转载 作者:可可西里 更新时间:2023-11-01 07:37:43 27 4
gpt4 key购买 nike

我正在用 PHP 和 MySQL 构建一个社交媒体新闻聚合 Web 应用程序。它需要将各种 URL(列 url)映射到特定趋势(列trend_id)。这是我的虚拟数据结构:

Sample data

我需要构建一个查询来获取特定trend_id(例如12)的URL。这很简单:

SELECT url FROM url_table WHERE trend_id = '12'

现在,一些趋势与特定的父趋势相关。例如trend_ids 12,16 和45 与父trend_id 12 相关。所以这是我的查询:

SELECT '12' as parent_trend_id,url FROM url_table WHERE (trend_id = '12' OR trend_id = '16' OR trend_id = '45')

这是另一个类似查询的例子:

SELECT '345' as parent_trend_id,url FROM url_table WHERE (trend_id = '345' OR trend_id = '457' OR trend_id = '16')

问题在于趋势之间存在多种这样的父子关系。到目前为止,我在 PHP 中运行了一个 for 循环并执行多个查询。此外,鉴于我的应用程序的性质,父趋势不能成为此表的一部分。有没有办法让一个查询包含多个这样的查询?

编辑:

我有一个单独的表来定义 child 关系。这是一个简单的 3 列表,具有 ID、trend_id(父)和 related_trend_id(子)。但是,一个related_trend_id(子)可以有多个trend_id(父)。这是关系表的快照:

Relations table sample data

最佳答案

您的具体查询现在是:

SELECT r.trend_id as parent_trend_id,url 
FROM url_table
Join relations r on r.related_trend_id = childid
WHERE r.trend_id = 12

或者全部获取

SELECT r.trend_id as parent_trend_id,url 
FROM url_table
Join relations r on r.related_trend_id = childid

完全符合我的预期:

http://sqlfiddle.com/#!3/b137a/9

你期待什么结果?

关于php - 将多个查询的行合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11694438/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com