[英]Select results from multiple tables
我正在創建一個社交網站。我有一個警報選項,需要根據其到達各個div的時間一起顯示好友請求和未讀消息。實際上我缺乏關於如何顯示兩個表的結果的邏輯。我。
我的表是:
1)sk_friends=>[friendship_id, from_user_id, to_user_id, status,date]
狀態包含accepted
或pending
的值。
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.