我有两张关于客户和交易的表格。 我希望获得每个客户的两笔价格,这些价格在表格交易中至少有一条记录。 这些价格结果有不同的条件。但我想只用一行显示所有内容。 我该怎么办?
P / s:我附上了数据图片:
答案 0 :(得分:0)
有几种方法可以做到这一点。最优雅的恕我直言,将根据customer_id进行直接连接,然后对case
表达式进行求和以处理其他条件
SELECT a.name,
SUM(CASE debit WHEN 131 THEN price) AS total_debit,
SUM(CASE credit WHEN 131 THEN price) AS total_credit
FROM customer a
JOIN transactions b ON a.customer.id = b.customer_id
WHERE 131 IN (b.debit, credit)
GROUP BY a.name