[英]Query SQL | Query creation in a chat
我需要幫助來創建查詢。 我正在嘗試創建一個聊天,我想在其中顯示 2 個用戶之間的消息。
當我進行查詢時,看起來我只想單方面地展示對話。 我想向雙方展示信息。
這是表定義:
Create table chat (pid int, id_user int, id_otheruser int, message varchar(45));
insert into chat values
(1, 1, 9, 'Test chat 1'),
(2, 1, 9, 'Test chat 2'),
(3, 9, 1, 'Test chat 3'),
(4, 1, 10, 'Test chat 4');
這是我的查詢:
SELECT * FROM `chat` WHERE `id_user` = 1 and `id_otheruser` = 9;
在小提琴中:
在上面的示例中,我想顯示 ID 1 和 ID 9 之間的對話,但我無法向后顯示對話(從 ID 9 到 ID 1)
SELECT *
FROM `chat`
WHERE
(`id_user` = 1 and `id_otheruser` = 9)
OR (`id_user` = 9 and `id_otehruser` = 1);
或者(可能表現更好):
SELECT *
FROM `chat`
WHERE `id_user` = 1 and `id_otheruser` = 9
UNION
SELECT *
FROM `chat`
WHERE `id_user` = 9 and `id_otheruser` = 1;
我進一步建議在此表中添加一個日期時間字段,以保留消息的順序和時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.