我有两个表 casetemp 和 medicication_master
患者有字段
ID | 姓名 | 年龄 | 性别 | 医药号 |
---|---|---|---|---|
1 | xyz | 23 | 米 | 1,2 |
2 | 美国广播公司 | 20 | F | 3 |
医学有领域
ID | 药名 | 描述 |
---|---|---|
1 | 交香素 | 发烧标签 |
2 | 埃扎 | 洗发水 |
3 | 赞塔 | 止痛药 |
我想要mysql左连接输出如下:
[{
"id":"1",
"name":"xyz",
"age":"23",
"sex":"M",
"medicine_id":"1,2",
"medicine_Data":[
{
"id":"1"
"medname":"crosin",
"desc":"fever tab"
},
{
"id":"2"
"medname":"etzaa",
"desc":"shampoo"
}]
},
{
"id":"2",
"name":"abc",
"age":"20",
"sex":"F",
"medicine_id":"3",
"medicine_Data":[{
"id":"3"
"medname":"zaanta",
"desc":"pain killer"
}]
}]
我使用的查询是
SELECT json_object(
'id', b.id,
'name',b.name,
'age',b.age,
'sex',b.sex,
'medicine_id',b.medicine_id,
'medicine_data', json_arrayagg(json_object(
'id', pt.id,
'medname', pt.medname,
'desc',pt.desc,
))
)
FROM patient b LEFT JOIN medication_master pt
ON b.medicine_id = pt.id
where b.id=1
GROUP BY b.id;
提前致谢