我的Sql Query在另一个字段中查找多行数据

时间:2018-01-29 11:08:53

标签: mysql

我想在单个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的一个条目。我没有得到这样的输出。

1 个答案:

答案 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

我认为这个选择查询会完美运行。