gpt4 book ai didi

php - 类似 MYSQL 的 2 个表搜索

转载 作者:行者123 更新时间:2023-11-29 14:35:55 25 4
gpt4 key购买 nike

我有以下问题。一个视频有多个标签,如高清、720p、1080p等,每个标签都有自己的记录。所有标签都在自己的表中,其命名标签。

以下是示例表格标记。

CREATE TABLE IF NOT EXISTS `tag` (
`video_tag_id` bigint(20) NOT NULL AUTO_INCREMENT,
`video_id` bigint(20) DEFAULT NULL,
`tag_name` varchar(300) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`tag_count` bigint(20) DEFAULT NULL,
PRIMARY KEY (`video_tag_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

因此,当我使用另一个表中的类似搜索时,它会为每个标签显示相同的视频。

我怎样才能做到这一点?

最佳答案

我们假设您指的是,其中引用数据库

您需要用正确的表结构替换视频表:

SELECT 
videos.video_id,
videos.name,
tag.tag_name
FROM videos JOIN tag ON videos.video_id = tag.video_id
WHERE videos.name LIKE '%the name of your video%'

上面将为视频所具有的每个标签列出一行。

要返回一行中的标签列表,请使用GROUP_CONCAT():

SELECT 
videos.video_id,
videos.name,
GROUP_CONCAT(tag.tag_name) AS tags
FROM videos JOIN tag ON videos.video_id = tag.video_id
WHERE videos.name LIKE '%the name of your video%'
GROUP BY videos.video_id, videos.video_name

关于php - 类似 MYSQL 的 2 个表搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9053689/

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