我试图从每个用户那里获取用户所在的2个组的所有消息。但我不知道如何从每个群体获取所有信息。到目前为止,这是我的代码:
SELECT DISTINCT m.*
FROM `message` m
INNER JOIN users u
ON u.id = m.idUser
LEFT JOIN whats_app w
ON w.idUser= u.id
WHERE u.id = w.idUser
因此,两组中只有一个用户。我不想收到ONE用户所在群组内所有人的所有消息。
这是一些简单的SQL查询als示例:
create table users (
id int PRIMARY KEY NOT NULL,
name varchar(60)
);
create table whatsapp(
idUser ,
idGroup int
);
create table allGroups(
id int PRIMARY KEY NOT NULL,
name varchar(60)
);
create table message_send(
id int,
idUser int,
message text
);
INSERT INTO users(id, name) VALUES
(1, 'John'),
(2, 'Martijn'),
(3, 'Rick'),
(4, 'Vera'),
(5, 'Leon');
INSERT INTO allGroups(id, name) VALUES
(1, 'School'),
(2, 'Friends'),
(3, 'moreFriends'),
(4, 'secretmeeting');
INSERT INTO message_send(id, idUser, message) VALUES
(1, 2, 'How are you feeling today?'),
(2, 1, 'What up?'),
(3, 4, 'I am fine, you?'),
(4, 1, 'hi!');
答案 0 :(得分:0)
create table message_send(
id int,
idUser int,
idGroup int,
message text
);
像这样创建消息表,然后直接与用户和组连接,你将得到输出,不需要表watsapp
select b.name,message
from
message_send as a,
users as b
where
a.idUser=b.id
同样加入群组表