将多个表中的数据转换为单行

时间:2016-05-24 03:55:19

标签: php mysql sql database

我试图从2个表中检索数据并将多个行组合成一个while循环

帖子

post_id content          
------  -------      
   1    content1                     
   2    content2           
   3    content3  
   4    content4


comments

id      post_id   content   
------  ------    ------              
   1      1        Wharton university           
   1      2        Yale University         

我编写的SQL代码

    mysqli_query( $connect, "SELECT * FROM `posts`
 INNER JOIN  comments ON posts.post_id =  comments.post_id  ORDER BY 1 DESC");

问题我只得到帖子ID 1和2.而有超过30个帖子

我想在一个while循环中获取每个帖子的所有帖子和评论。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

将您的加入更改为LEFT加入,而不是INNER加入。

不同之处在于LEFT联接会在没有评论时使用null,而INNER只会为您提供有评论的行。

答案 1 :(得分:1)

您的jdbc:sqlserver://localhost:1433;databaseName=MY_DB 联接正在将post_id字段中的两个表联合起来。您需要INNER加入而不是LEFT加入。 INNER联接将为您提供第一个表格中的所有结果。