У меня есть 3 стола. член возмещения и получения. Я хочу отобразить имя участника, сумму возмещения, которая имеет квитанцию. Напримервыбрать из 2-х столов на основе подсчета 3-го стола
член
member_id member_name
1 luffy
2 zoro
3 nami
возмещение
reimburse_id member_id reimburse_total
1 1 5000
2 2 10000
3 3 10000
расписка
receipt_id reimburse_id reimburse_price reimburse_no
1 1 2500 2012232
2 1 2500 2012123
3 2 5000 2012454
4 2 5000 2012565
Я хочу, чтобы отобразить все компенсации элемента, который имеет квитанцию. В этом случае выберите запрос должен возвращать как этот
name No. of reimburse total
luffy 1 5000
zoro 1 10000
nami 0 0
До сих пор это я, что я получил
SELECT member.member_name,
COUNT(distinct reimbursement.reimburse_id) as nor,
SUM(distinct reimbursement.reimburse_total)
FROM member INNER JOIN
reimbursement
ON member.member_id = reimbursement.member_id INNER JOIN
receipt
ON reimbursement.reimburse_id=receipt.reimburse_id
GROUP BY member.memberID
, но я получил неправильную сумму.
извините за поздний отклик. Я должен проверить ваш ответ, пожалуйста, подождите – healer
Сэр отлично работает. Можете ли вы объяснить, что вы сделали? Это полностью отличается от того, что я знаю – healer
sir Я не получаю эту строку, как запрос будет проверять каждую запись квитанции? «CASE WHEN rr.reimburse_id НЕ НУЛЛ, а затем reimburse_total ELSE 0 END» – healer