这是我的场景:
用户可以在他的个人资料上发布内容,他也可以分享其他用户的帖子。我想在查询中选择每个帖子并分享他所做的(使用日期时间排序)。我只是无法用我的基本 MySQL 技能找到合适的查询。帮我找路扔这个!干杯。
桌柱
id user_id content datetime
1 100 Loremipsum1 2013-03-04 19:35:02
2 200 Loremipsum2 2013-03-03 19:30:02
3 200 Loremipsum3 2013-03-01 19:25:02
表共享
id user_id target_id post_id datetime
1 100 200 2 2013-02-01 19:25:02
2 100 200 3 2013-02-01 19:24:02
3 200 100 1 2013-01-01 19:25:02
假设我想为我的用户 100 获得每个结果,期望的结果是
id user_id content datetime
1 100 Loremipsum1 2013-03-04 19:35:02
2 200 Loremipsum2 2013-03-03 19:30:02
3 200 Loremipsum3 2013-03-01 19:25:02
因为用户 100 分享了用户 200 的两个帖子。
编辑:有些人认为我试图变得懒惰并让其他人为我工作。所以这就是我目前在查询中的位置。
SELECT *
FROM user_stream
LEFT JOIN user_share
ON user_stream.user_id = user_share.user_id
WHERE user_id = 100
我的问题是我需要从我的 target_id 而不是我的 user_id 中选择内容。但我不知道 target_id 值。它也可以是多个值(如果用户共享多个帖子)。