НЕ СУЩЕСТВУЕТ в PS QUERY - PullRequest
0 голосов
/ 22 мая 2018

В Oracle PeopleSoft ERP инструмент PeopleSoft Query (он же PS Query) используется для генерации SQL и запуска его через веб-интерфейс для пользователей, не имеющих прямого доступа к базе данных.

С помощьюСуществуют Я ожидаю, что значения, извлеченные из моего запроса, не существует в моем подзапросе, так как он должен работать.

Но когда я запускаю свой основной запрос, я получаю значения: '0290', '0477'и' 0770 ', который при проверке записи моего подзапроса также существует там.Я уже проверил ключи на всех задействованных таблицах и думаю, что включил их в критерии.

SELECT A.ADMIT_TERM FROM PS_ACAD_PROG A, PS_STDNT_AWD_PR_VW B
WHERE ( A.EFFDT = 
    (SELECT MAX(A_ED.EFFDT) FROM PS_ACAD_PROG A_ED 
    WHERE A.EMPLID = A_ED.EMPLID 
      AND A.ACAD_CAREER = A_ED.ACAD_CAREER 
      AND A.STDNT_CAR_NBR = A_ED.STDNT_CAR_NBR 
      AND A_ED.EFFDT <= SYSDATE) 
AND A.EFFSEQ = 
    (SELECT MAX(A_ES.EFFSEQ) FROM PS_ACAD_PROG A_ES 
    WHERE A.EMPLID = A_ES.EMPLID 
      AND A.ACAD_CAREER = A_ES.ACAD_CAREER 
      AND A.STDNT_CAR_NBR = A_ES.STDNT_CAR_NBR 
      AND A.EFFDT = A_ES.EFFDT) 
 AND A.EMPLID = B.EMPLID 
 AND A.ACAD_CAREER = B.ACAD_CAREER 
 AND B.INSTITUTION = A.INSTITUTION
 AND B.STRM = A.ADMIT_TERM 
 AND NOT EXISTS (SELECT D.STRM 
 FROM PS_STDNT_CAR_TERM D 
 WHERE D.EMPLID = A.EMPLID 
 AND D.ACAD_CAREER = A.ACAD_CAREER 
 AND D.INSTITUTION = A.INSTITUTION 
 AND D.STDNT_CAR_NBR = A.STDNT_CAR_NBR
 AND D.STRM = A.ADMIT_TERM));

Может кто-нибудь сказать мне, что я сделал не так?

...