我试图从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循环中获取每个帖子的所有帖子和评论。
我该怎么做?
答案 0 :(得分:2)
将您的加入更改为LEFT
加入,而不是INNER
加入。
不同之处在于LEFT
联接会在没有评论时使用null
,而INNER
只会为您提供有评论的行。
答案 1 :(得分:1)
您的jdbc:sqlserver://localhost:1433;databaseName=MY_DB
联接正在将post_id字段中的两个表联合起来。您需要INNER
加入而不是LEFT
加入。 INNER
联接将为您提供第一个表格中的所有结果。