繁体   English   中英

从多个表中选择结果

[英]Select results from multiple tables

我正在创建一个社交网站。我有一个警报选项,需要根据其到达各个div的时间一起显示好友请求和未读消息。实际上我缺乏关于如何显示两个表的结果的逻辑。我。

我的表是:

1)sk_friends=>[friendship_id, from_user_id, to_user_id, status,date]

状态包含acceptedpending的值。

2)sk_messages=>[msg_id, from_user_id, to_user_id,text, date, status]
SELECT * FROM sk_friends JOIN sk_message ON sk_friends.from_user_id = sk_message.from_user_id

这将是从两个表中检索记录的基本查询。

试试这个..但是不确定有什么对您有帮助

如果您尝试同时提取待处理的好友请求和消息,则可能要考虑添加更通用的“通知”样式表,或将其作为单独的查询运行。

因此,您可以按照以下方式去一张桌子:

sk_notifications => [id, date, type, from_user, to_user, status]

其中将同时包含两种类型的事件(新消息和新好友请求)-您的代码将负责根据通知类型提供不同的操作。

对于朋友的请求,请参见下面的查询

select * from sk_friends where (logged_in_user_id in from_user_id or logged_in_user_id in to_user_id) and status='pending';

对于未读的邮件

 select * from sk_messages where to_user_id=logged_in_user_id;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM