Я извлекаю счет из двух таблиц, но значения NULL удаляются с помощью только счетчика (выражения). Я пытаюсь подсчитать нулевые значения, но получаю ошибки.
Следующая часть - когда я получаю эти значения, как я могу отобразить процент между моими двумя результатами? Это запрос, который меня попросили создать, и я довольно новичок в SQL. Взяв более старый отчет, я смог увидеть необходимые поля, но не смог их правильно отобразить.
Cast (Cast ((Open_Appointment_Slots / Total_Appointments_Scheduled) * 100,0 как десятичное число (18,2)) как varchar (10)) + "%" как процентное соотношение
Это единственный запрос i 'мы получили реальный процент, но каждый раз это% 100,00. Две переменные должны вычислять процент открытых встреч по сравнению с запланированными.
SELECT
office_master.office_code as Code,
office_master.name as Office,
office_master.srno as Number,
schedule_detail.office_id as ID,
'04' as "MonthID",
'April' as "Month",
COUNT(block_status) as "Open_Appointment_Slots",
COUNT(forwhom_id) as "Total_Appointments_Scheduled",
CAST(
CAST( (Open_Appointment_Slots/Total_Appointments_Scheduled)*100.0
as decimal(18,2))
as varchar(10) ) + '%' as Percentage
FROM
schedule_detail
FULL OUTER JOIN
office_master on schedule_detail.office_id = office_master.srno`
WHERE schedule_date BETWEEN '2019-04-01' AND '2019-04-30'
GROUP BY
"Month",
"Code",
"Office",
"Number",
"ID"
forwhom_id обрезает нулевые значения, которые мне нужны, чтобы получить точное число. Процент продолжает возвращать% 100,00 независимо от результатов. Довольно плохо знаком с SQL, поэтому любая помощь будет отличной! Я работал над этим в течение нескольких дней, и я не могу понять это, спасибо.
результат вывода хотел бы, чтобы процент отображался как: процент от открытого слота, который был запланирован /заполнены.