gpt4 book ai didi

mysql - 使用第二个表作为查找?

转载 作者:行者123 更新时间:2023-11-29 02:02:34 24 4
gpt4 key购买 nike

我有三张表,

帖子,标签,Posts_Tags_Link

帖子有:编号、内容

标签有:id, tag

Posts_Tags_Link 有:post_id, tag_id

基本上,如果标签链接到帖子,则会在 Posts_Tags_Link 中创建一个条目,因为这是多对多的关系。

无论如何,我想进行一些搜索并从链接到特定关键字的帖子中返回所有行。

例如如果我有

帖子:

id | content
1 | some stuff
2 | more stuff
3 | stuff again

标签:

id | tag
1 | first
2 | second
3 | third
4 | fourth

Posts_Tags_Link

post_id | tag_id
1 | 1
1 | 2
2 | 2
3 | 3
3 | 4

然后我搜索 second 我想返回

id | content
1 | some stuff
2 | more stuff

我想我要为此使用连接,我会在 post_id 上将我的帖子表连接到链接表,然后在 tag_id 列上将链接表连接到链接表到标签表吗?

我认为这是正确的,但如果我只想匹配搜索的行(比如不是 where),我会使用 like 还是其中一种不同的连接会起作用?

我希望如果我搜索 sec 它会得到与我搜索 second 相同的结果,所以相信我必须使用 like 来执行此操作吗?

最佳答案

你应该连接这三个表,因为你想从它们中搜索,例如

SELECT  a.*
FROM post a
INNER JOIN Posts_Tags_Link b
on a.id = b.post_id
INNER JOIN Tag c
ON b.tag_tag_id = id
WHERE a.content like '%keyword%' OR -- build you conditions here
c.tag like '%keyword%'

关于mysql - 使用第二个表作为查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12345328/

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