[英]Mysql - Single Query for One-To-Many
我有一个名为posts
的表和另一个名为attachments
表...
post
可以有很多attachments
......
所以,我创建了一个名为post_attachment
的中间表。
如何在单一查询中获取posts
数据列表,包括attachments
数据?
..
请参阅下面的内容,以便更清楚地了解......
以下是表格结构:
-
posts
表有4列:
-
attachments
表有3列:
-
post_attachment
表有2列:
以下是具有多个attachments
的post
的示例
posts
表:
-
attachments
表:
-
post_-attachment
附表:
在上面的例子中,它告诉post
(ID:1)有3个attachments
,ID为1,2和3。
那么,问题是如何获取将在单个查询中包含posts.title
, attachments.filename
, attachments.file_url
列的帖子列表?
您必须加入3个表:
select
p.*, a.*
from post p
left join post_attachment pa on pa.post_id = p.id
left join attachments a on a.id = pa.file_id
如果帖子没有任何附件,则需要LEFT JOIN
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.