gpt4 book ai didi

php - 从毒物标签系统的 3 个表中获取数据

转载 作者:行者123 更新时间:2023-11-30 00:11:23 29 4
gpt4 key购买 nike

这里我有 3 个具有以下结构的表。

帖子:

帖子 ID |帖子名称
----------+----------
1          |测试帖
2          |印度

标签:

标签 ID |标签名称
---------+------------
1          | java
2          | php

标签映射:

tag_map 仅包含帖子和标签表中的外键。

帖子 ID | tag_id
-----------+------------
1            | 1
1            | 2
2            | 1
2            | 2

我想从用户给出的特定 post_id 中获取数据。

谁能帮我解决这个问题???我是 php 的初学者..

提前致谢。

最佳答案

您需要按如下方式连接数据,当帖子在 tag_map 中包含多个标签时,这将返回多行数据

select 
p.post_id ,
p.Post_name,
t.tag_name
from tag_map tm
join Post p on p.post_id = tm.post_id
join Tag t on t.tag_id = tm.tag_id
where p.post_id = 'some id';

要获取每个帖子的单行数据以及以逗号分隔的所有标签,您需要使用 group_concat() 作为

select 
p.post_id ,
p.Post_name,
group_concat(t.tag_name) as tag_name
from tag_map tm
join Post p on p.post_id = tm.post_id
join Tag t on t.tag_id = tm.tag_id
where p.post_id = 'some id'
group by p.post_id
;

关于php - 从毒物标签系统的 3 个表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24015471/

29 4 0