SQL кроме или минус - PullRequest
       19

SQL кроме или минус

0 голосов
/ 11 января 2019

У меня есть две таблицы с одним и тем же «id» для компаний, и мне нужно для «выбрать все» сделать как минус специальные компании, которые выставляют счета на конкретную дату.

Я пробовал минус функции, но она не работает в наших системах ERP, но я могу использовать «кроме», но она не работает так, как мне нужно.

SELECT ad.idfirmy FROM aadresar as ad .............\\ (select all)
EXCEPT
SELECT DISTINCT f.idfirmy FROM ddoklfak as f ...... \\ (this i need minus from all sellect)
WHERE modul = 'FAV' and f.datvyst >= '<<datum_od>>' and f.datvyst <= 
'<<datum_do>>') db on db.idfirmy = ad.idfirmy

Например, У меня есть "idfirmy value 193451", которое находится во втором выборе и после, за исключением того, что это значение все еще остается в результате, но это так плохо.

Мне нужно выбрать второй выбор вычесть из первого

1 Ответ

0 голосов
/ 11 января 2019

Я предлагаю либо удалить db часть

SELECT ad.idfirmy 
FROM aadresar AS ad 
EXCEPT
SELECT DISTINCT f.idfirmy 
FROM ddoklfak AS f 
WHERE modul = 'FAV' AND f.datvyst >= '<<datum_od>>' 
    AND f.datvyst <= '<<datum_do>>';

Или используйте NOT EXISTS вместо

SELECT ad.idfirmy 
FROM aadresar AS ad 
WHERE NOT EXISTS
    (
        SELECT 1 
        FROM ddoklfak AS f 
        WHERE f.idfirmy = ad.idfirmy 
            AND modul = 'FAV' 
            AND f.datvyst >= '<<datum_od>>' 
            AND f.datvyst <= '<<datum_do>>'
    );
...