我想在单个mysql查询中找到以下sceneraio的数据
假设我有一个users
表:
id | name
1 | A
2 | B
events
表:
id | event_name
1 | E1
2 | E2
event_request_sent
表:
id | event_id | user_id
1 | 1 | 1
2 | 1 | 2
3 | 2 | 1
我需要像json输出那样的输出
[{
"event_name": "E1",
"user_Details": [{
"name": "A",
"id": "1"
}, {
"name": "B",
"id": 2
}]
}, {
"event_name": "E2",
"user_Details": [{
"name": "A",
"id": "1"
}]
}]
请帮助我,我尝试使用连接但是在event_request_sent表中没有用户的情况下获得事件E1的一个条目和E2的一个条目。我没有得到这样的输出。
答案 0 :(得分:0)
Select event.events_name, GROUP_CONCAT(user.name) AS name, GROUP_CONCAT(user.id) AS id
from user user_table,
event events_table,
eventreq events_request_table
where
event.id = eventreq.event_id
and user.id = eventreq.user_id
我认为这个选择查询会完美运行。