У меня есть запрос, где у меня есть NOT IN
или NOT EXISTS
, на самом деле не имеет значения, оба варианта возможны
SELECT art.aid_artnr
FROM ART ,EAN13
WHERE ean13.AID_MAND(+) = ART.AId_Mand
AND ean13.AID_ARTNR(+) = ART.AId_ArtNr
AND ean13.AID_VAR(+) = ART.AId_Var
AND EXISTS (
SELECT 1
FROM TEP
WHERE ART.AId_Mand = TEP.MId_AId_Mand
AND ART.AId_ArtNr = TEP.MId_AId_ArtNr
AND ART.AId_Var = TEP.MId_AId_Var
AND TEP.Mngs_Mng > 0
AND TEP.SobeKz = 0
)
AND art.AID_ARTNR NOT IN (
SELECT AID_ARTNR
FROM KORT
)
AND ART.LogimatKz = 0
AND ART.TeBoKz = 0
AND ART.GardKz = 0
AND ART.DivArt = 0
AND ART.BeschaffArt = 0
Моя проблема в том, что в таблице KORT
можно иметь 1 или 2 записи для каждой art.AID_ARTNR
или вообще не вводить запись.
2 различных типа записей возможны в KORT
, TYPE
A и TYPE B
если у меня теперь есть запись для TYPE A
для art.AID_ARTNR
, оператор не должен показывать результат, который работает.
теперь я как-то должен также исключить, если TYPE A
AND B находятся в таблице KORT
, это также не разрешено отображать, что также работает, потому что есть запись для art.AID_ARTNR
в KORT
пока все хорошо
НО
результаты должны показать, ЕСЛИ в KORT
есть запись от TYPE B
, но не от TYPE A
, я не могу понять, как это сделать правильно, может быть, это глупо легко, и я просто думаю сложный ..
Может быть, кто-то может мне помочь