为了学习目的,我创造了一个类似的推特...... 我现在正在尝试创建一个查询,以便用户可以关注其他用户。
我有四个表 - 用户,用户详细信息和推文。
下表仅使用三行主键ID,user_ID和后续ID。 因此,计划是如果我(用户1)调用following_id(2),我将从表推文获得所有结果,其中消息与user_id一起存储。
但是当我打电话给桌子时,我只得到了两行。由user_id。而不是按消息ID分组。
这是我的查询,只给了我2个结果。
SELECT user.email, user.username, tweets.message, tweets.date, userdetails.profile_img, userdetails.firstname, userdetails.lastname, following.id, following.user_id, following.follow_id
FROM user
JOIN userdetails ON user.id = userdetails.user_id
JOIN tweets ON userdetails.user_id = tweets.user_id
JOIN following ON tweets.id = following.follow_id
GROUP BY tweets.message
表结构。
Following
id | user_id | follow_id
Tweets
user_id|id|date|message
user
id|email|password|username
userdetails
id|firstname|lastname|profile_img|user_id|about
但是这里的出版物变成了
email|username | message | date |profile_img |firstname |lastname |id |user_id
1. email 1...username message date......
2 .email 2........username message date.....
想法?或者我认为下面的表格错了吗?
答案 0 :(得分:1)
您非常接近正确的查询:只需替换
tweets.id = following.follow_id
带
tweets.user_id = following.follow_id