Как получить нулевые значения в сложном запросе и отобразить процент от двух результатов? - PullRequest
0 голосов
/ 31 октября 2019

Я извлекаю счет из двух таблиц, но значения 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, поэтому любая помощь будет отличной! Я работал над этим в течение нескольких дней, и я не могу понять это, спасибо.

результат вывода хотел бы, чтобы процент отображался как: процент от открытого слота, который был запланирован /заполнены.

...