首页 / PHP / PHP-MySQL相关领域
PHP-MySQL相关领域
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP-MySQL相关领域,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2033字,纯文字阅读大概需要3分钟。
内容图文
![PHP-MySQL相关领域](/upload/InfoBanner/zyjiaocheng/884/79727b61b7aa47c6872768b081dddf4c.jpg)
这4个字段相互关联
我希望它输出为:
在我的查询中:
SELECT users.firstname, users.lastname, users.screenname, posts.post_id, posts.user_id,
posts.post, posts.upload_name, posts.post_type,
DATE_FORMAT(posts.date_posted, '%M %d, %Y %r') AS date,
COUNT(NULLIF(feeds.user_id, ?)) AS everybody, SUM(feeds.user_id = ?) AS you,
GROUP_CONCAT(CASE WHEN NOT likes.user_id = ? THEN
CONCAT_WS(' ', likes.firstname, likes.lastname)
END
) as names
FROM website.users users
INNER JOIN website.posts posts ON (users.user_id = posts.user_id)
LEFT JOIN website.feeds feeds ON (posts.post_id = feeds.post_id)
LEFT JOIN website.users likes ON (feeds.user_id = likes.user_id)
GROUP BY posts.pid
ORDER BY posts.pid DESC
现在,我在加入朋友表的哪个部分上遇到问题,
我想显示来自friend_id或user_id的所有帖子,以及来自当前登录用户的帖子.如果在好友表上没有匹配的朋友,则仅输出该用户的所有帖子.拜托,我需要你的帮助.
friends.friend_id =当前用户的朋友
friends.user_id =用户的当前朋友
因此,friends.friend_id = posts.user_id或friends.user_id = posts.user_id
如果我的friends表无法理解,请帮助我对其进行更改以使其更好.
解决方法:
您想查看来自用户或其朋友的帖子.因此,不要与用户一起加入,而是与子查询一起加入,如下所示:
SELECT users.firstname, users.lastname, users.screenname,
posts.post_id, posts.user_id, posts.post, posts.upload_name,
posts.post_type, DATE_FORMAT(posts.date_posted, '%M %d, %Y %r') AS date,
COUNT(NULLIF(feeds.user_id, ?)) AS everybody,
SUM(feeds.user_id = ?) AS you,
GROUP_CONCAT(CASE WHEN NOT likes.user_id = ? THEN
CONCAT_WS(' ', likes.firstname, likes.lastname) END) as names
FROM (SELECT user_id FROM website.users WHERE user_id = ?
UNION ALL
SELECT user_id FROM website.friends WHERE friend_id = ?
UNION ALL
SELECT friend_id FROM website.friends WHERE user_id = ?) AS who
JOIN website.users users ON users.user_id = who.user_id
JOIN website.posts posts ON users.user_id = posts.user_id
LEFT JOIN website.feeds feeds ON posts.post_id = feeds.post_id
LEFT JOIN website.users likes ON feeds.user_id = likes.user_i)
GROUP BY posts.pid
ORDER BY posts.pid DESC;
测试输出here.
内容总结
以上是互联网集市为您收集整理的PHP-MySQL相关领域全部内容,希望文章能够帮你解决PHP-MySQL相关领域所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。