我有以下表格
apps表
--------------------------------
id | appointment_id | service_id
--------------------------------
1 | 258 | 4
2 | 258 | 5
--------------------------------
服务表
--------------------------------
id | price
--------------------------------
4 | 10
5 | 20
--------------------------------
我想要做的是从apps表中选择属于appointment_id 258的所有service_id,并从服务表中获取所有服务的SUM价格。
我已经看到使用GROUP_CONCAT我可以将service_id作为逗号分隔值获得但是使用子查询或内连接可能会更好吗?
答案 0 :(得分:2)
这是你想要的吗?
SELECT
SUM(s.price) AS total_price,
GROUP_CONCAT(s.id) AS service_ids
FROM services s
INNER JOIN apps a
ON s.id = a.service_id
WHERE
a.appointment_id = 258;
在没有GROUP_CONCAT
的情况下使用GROUP BY
有点不寻常,但也许这是您的要求。