[英]MYSQL join query not working
我有2个名为mysql表
博客
评论
我正在尝试使用blog_id从评论表中检索以下列user_name
comment_desc
。
这两个表具有相同的blog_id。
下面是两个sql表的屏幕截图
评论表:
博客表:
我以这种方式尝试查询。
SELECT blog.blog_id, comment.user_name, comment.comment_desc
FROM
blog (b)
INNER JOIN
comment (c)
ON b.blog_id = c.blog_id
我无权上传图片,这就是为什么我上传至photobucket的原因。
PHP代码...
<?php
$comments_set = blog_comments();
var_dump($comments_set);
while($comments_all = mysql_fetch_assoc($comments_set)){
$name = $comments_all['user_name'];
$desc = $comments_all['comment_desc'];
echo
"<ol class=\"commentlist clearfix\">
<li class=\"comment even thread-even depth-1\" id=\"li-comment-1\">
<div id=\"comment-1\" class=\"comment-wrap clearfix\">
<div class=\"comment-meta\">
<div class=\"comment-author vcard\">
<span class=\"comment-avatar clearfix\">
<img alt='' src='http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=60' class='avatar avatar-60 photo avatar-default' height='60' width='60' /></span>
</div>
</div>
<div class=\"comment-content clearfix\">
<div class=\"comment-author\">$name<span><a href=\"#\" title=\"Permalink to this comment\">January 24, 2013 at 10:46 am</a> · <a class='comment-reply-link' href=\"#\">Reply</a></span></div>
<p>$desc</p>
</div>
</div>
</li>
</ol>
";
}
?>
您需要带blog_ig
comment
表中的user_name
和desc
那么为什么需要联接这两个表呢? 您可以通过博客ID从评论表中检索信息
select * from comments where blog_id='blog_id'
我认为您应该选择“左加入”,因为无论您是否有评论,您可能都希望显示博客。
SELECT b.blog_id, c.user_name, c.comment_desc
FROM
blog as b
LEFT JOIN
comment as c
ON b.blog_id = c.blog_id
您正在使用别名,因此在SELECT
语句时,请通过别名来指定它。 您需要删除别名旁边的括号...
SELECT b.blog_id, c.user_name, c.comment_desc
FROM
blog b
INNER JOIN
comment c
ON b.blog_id = c.blog_id
我认为您没有正确定义blog_id列。 请检查列的数据类型和大小。 连接表时它将失败。 如果您可以粘贴错误,它将更有帮助
谢谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.