2015-04-10 2 views
0

Вот мой SQL запрос:MySQL запросов, чтобы найти сумму из результатов другого запроса

SELECT (
    SELECT COUNT(appointment_doctor) FROM appointment 
    JOIN doctor ON appointment.appointment_doctor = doctor.doctor_id 
    WHERE appointment_doctor = doctor_id 
) * doctor_payment_rate AS fees FROM doctor 
JOIN doctor_payment ON doctor.doctor_id=doctor_payment.doctor_payment_doctor 

Результат:

плата 500 1000 615 11615 1160 615 1610 285 660 220 3835 215 615 555 555 1065 1110 620 445 220 660 625 60 1715 615 10 115 615 60 625 60 330 615 625 720 625 615 670 615 500 615 500

хочу сумму всех Thes e значение total_fee.

+0

ли запустить свой исходный запрос? –

ответ

0
select 
    sum(select 
     count(appointment_doctor) 
    from 
     appointment 
    join 
     doctor 
     on appointment.appointment_doctor= doctor.doctor_id 
    where 
     appointment_doctor=doctor_id)*doctor_payment_rate as 'Total fee' 
from 
    doctor  
join 
    doctor_payment 
     on doctor.doctor_id=doctor_payment.doctor_payment_doctor 
0

Попробуйте этот запрос:

SELECT SUM (
    (SELECT COUNT(appointment_doctor) FROM appointment 
    JOIN doctor ON appointment.appointment_doctor = doctor.doctor_id 
    WHERE appointment_doctor = doctor_id) * doctor_payment_rate)) 
    AS total_fee 
    FROM doctor 
    JOIN doctor_payment 
    ON doctor.doctor_id=doctor_payment.doctor_payment_doctor 
0

Используйте функцию MySQL суммы SUM() возвращает общую сумму числового столбца

SELECT SUM (
    SELECT (
     SELECT COUNT(appointment_doctor) FROM appointment 
     JOIN doctor ON appointment.appointment_doctor = doctor.doctor_id 
     WHERE appointment_doctor = doctor_id 
    ) 
Смежные вопросы