我有兩個表:smiles
和messages
。我想顯示兩個表中的所有記錄:複雜的mysql查詢連接兩個表並顯示所有記錄
- (用戶誰的loggedIn = USER_ID)
- USER_ID =風溼或USER_ID =從微笑Sender ID和
- USER_ID = SENDER_ID或USER_ID = receiver_id從消息
我用「或」在這裏,因爲它發生,有時user_id
是messages
或smiles
發件人有時user_id
是messages
和smiles
接收器,我想顯示所有其中user_id
在其中的記錄。
對於向其他user_id
發送消息或微笑的每個成員,我也希望總數爲messages
+ smiles
。
我要顯示的數據等下面
sender_user_name---Message+Smiles Count---Logged_user-------message
user_123 --------------6------------------You're Sender-----this is the last message
user_333--------------12------------------You're Receiver---this is the last message
這裏是信息的表結構
conversation_id|message_id|sender_id|receiver_id|message|message_date|view_status
笑容結構
id|Toid|Senderid|smile_type|send_date|view_status
我試圖讓所有的記錄與UNION與WHERE子句但未成功。將感謝任何幫助。
消息和微笑是兩個不同的表
這裏一些更多的澄清
的如何「消息+微笑計」形成 - >計數user_007作爲在誰正在檢查消息和微笑用戶登錄。在他的賬戶中,用戶222給他發送了2條消息,用戶333給他發送了5條微笑,他自己發送了3條消息給用戶555。所以輸出將是
user222 2 received Message Details
user333 5 Received smile type
You 3 sent to user555 message details
這裏只會顯示最後一條消息或微笑。因此,如果user_123向user_007發送了6條消息和1條微笑,則計數將爲7,並且最後顯示的消息或微笑將顯示,如果user_007將消息發送給另一個user_567,則將顯示在第二行,等等。在的問題,我還包括表structure..Appreciate你的努力
我想我可以更容易理解的問題 - 我可以或多或少看到你的要求 - 但你應該提供一些樣品數據和相應的輸出。具體而言,我不清楚「消息+微笑計數」是如何形成的。假設「登錄的用戶ID」是'user_007',那麼'user_123'的6個計數是'user_123'發送給'user_007'的消息和微笑的數量?微笑獨立於消息嗎? 「這是最後一個信息」有意義嗎?這是否意味着你想從'user_123'到'user_007'的最近消息? –
另一種可能的選擇是'messages + smiles count'包含'user_007'發送給'user_123'的消息,反之亦然。最後顯示的消息可能是由'user_007'發送給'user_123',而不是反過來。但是你的問題還沒有使所有這些細節清楚。請編輯它以包含必要的信息,以及足夠的數據以生成示例輸出(您可能希望將數字6和12減少到更易於管理的數字,例如3和4)。 –
謝謝喬納森我已經添加了更多的澄清問題。 – Krish