繁体   English   中英

合并两个MySQL表中的数据

[英]Combining Data from two MySQL tables

我正在尝试将MySQL中两个表中的数据与PHP结合在一起。

我想从“帖子”表中选择所有数据(id,标题,post_by,内容和created_at)。

然后,如果comment_id等于帖子ID,那么我想从“评论”表中选择comment_id COUNT。

最后,我想按此顺序回显/打印一些内容:

<? echo $row->title; ?>
Posted by <? echo $row->post_by; ?> on <? echo $row->created_at; ?> CST
<? echo $row->content; ?>
<? echo $row->comment_id; ?> comments | <a href="comment.php?id=<? echo $row->id; ?>">view/post comments</a>

我不确定如何“组合”来自两个表的数据。 我尝试了很多事情,度过了几个晚上,也没有运气。

任何帮助将不胜感激!

您正在寻找的是加入

select * from posts p
inner join comments c on p.post_id = c.comment_id

要获取所有帖子中有多少条评论行的计数,可以使用嵌套的select语句:

select count(comment_id) from comments c 
where comment_id in (select id from posts)
SELECT p.id, p.title, p.post_by, p.content, p.created_at, Count(c.comment_id)
FROM posts p
LEFT JOIN comments c on p.post_id = c.comment_id
GROUP BY p.id, p.title, p.post_by, p.content, p.created_at

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM