Показать счет или отчет о приложении, которые не доступны в обеих таблицах - PullRequest
0 голосов
/ 18 июня 2019

Отображение количества или отчета о приложении, которые недоступны в обеих таблицах (Услуги, Услуги_Дано)

Примечание : Услуги = Application_no ( номер ) Services_Done = Application_no ( Varchar2 )

SELECT Count(Application_no)
FROM services
WHERE Application_cat = 60
and To_char(Delivery_date,'yyyy') between 2006 and 2016
and Service_status = 210

SELECT services.application_no
FROM services
WHERE Application_status = 15
and To_char(Directors_Dependency_Date,'yyyy') between 2006 and 2016
MINUS
SELECT services.application_no
FROM services
JOIN services_contract ON services.application_no=services_contract.application_no

Результат:

Если приложение доступно в сервисах, но не services_done - включите его если Application_no в обеих таблицах = исключить его

Ответы [ 2 ]

1 голос
/ 18 июня 2019

Если я правильно понимаю, вы можете использовать предложение NOT EXISTS. Проверьте пример ниже

SELECT Count(Application_no) FROM services s
WHERE Application_cat = 60
and To_char(Delivery_date,'yyyy') between 2006 and 2016
and Service_status = 210
and not exists
(
   select 1 from services_done t2 where t2.cond = s.cond
)
0 голосов
/ 18 июня 2019

Если Application имеет одинаковый идентификатор в Services и Services_Done, вы можете сделать LEFT JOIN следующим образом:

SELECT Count(S.App)
FROM Services as S
LEFT JOIN Services_Done as SD
ON S.App = SD.App
WHERE SD.App is not null;

Если условие WHERE выполнено, это означает, что для вашего объекта была найдена связь между Services и Services_Done Application.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...