繁体   English   中英

MYSQL联接查询不起作用

[英]MYSQL join query not working

我有2个名为mysql表

  1. 博客

  2. 评论

我正在尝试使用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> &middot; <a class='comment-reply-link' href=\"#\">Reply</a></span></div>

                                            <p>$desc</p>


                                        </div>

                                    </div>


                                </li>



                            </ol>
                            ";
                        }
                            ?>

您需要带blog_ig comment表中的user_namedesc

那么为什么需要联接这两个表呢? 您可以通过博客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.

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