Comparar dos select y devolver los distintos

Buenas noches.
Tengo un problema con una query, necesito comparar dos tablas y quedarme con los registros distintos, he utilizado el comando NOT EXIST y UNION pero no me funcionan.

Para mi reporte necesito mostrar todos los ItemName que no existan en tabla "@DOI_IDOC".

select
     T0."ItemCode",
     T0."ItemName" 
from "OITM" T0

UNION

select
     T1."U_DOI_ItemName",
T1."U_DOI_ItemCode"
    from "@DOI_IDOC" T1 
    where 
T1."U_DOI_TDOC" IN ('PLA' ,'PLACLI')

Gracias, a ver si pueden ayudarme por favor.

Que tal puedes usar subconsulta, que solo te muestre itemname que no estén en la tabla B.

select 
T0.“ItemCode”,
T0.“ItemName”
from “OITM” T0 where itemname not in (select
T1.“U_DOI_ItemName”
from “@DOI_IDOC” T1
where
T1.“U_DOI_TDOC” IN (‘PLA’ ,‘PLACLI’))
2 Me gusta

Buenas tardes.
Gracias @juana funcionó perfectamente, en ningún momento en mi query estaba comprando los item.

1 me gusta

Buenas noches de nuevo.
La query que intento generar es: Si T1.“ItemCode” de (/Precios itemCodes en factura/) se encuentra en la (/Tabla precios especiales/) muestre el precio de (/Tabla precios especiales/) si no es así muestre el precio de la select (/Precios itemCodes en factura/).
_He utilizado la sentencia Case y no funciona, con IF lo he probado y nada.

/Precios itemCodes en factura/
SELECT
DISTINCT T0.“CardCode”,
T1.“ItemCode”,
T0.“CardName”,
T1.“U_DOI_CALC_OT”,
T1.“PriceBefDi”,
T1.“Price”,
T1.“FreeTxt”,
FROM OPCH T0
INNER JOIN PCH1 T1 ON T0.“DocEntry” = T1.“DocEntry”
GROUP BY T0.“CardCode”,
T0.“CardName”,
T1.“U_DOI_CALC_OT”,
T1.“ItemCode”,
T1.“Dscription”,
T1.“BaseLine”,
T1.“PriceBefDi”,
T1.“Price”,
T1.“FreeTxt”
;

 /*Tabla precios especiales*/
SELECT
 T1."Code",
 T1."Name",
 T1."UpdateDate",
 T0."U_DOI_ItemCode",
 T0."U_DOI_ItemName",
 **T0."U_DOI_Precio"**

FROM “@DOI_PEP1” T0
INNER JOIN “@DOI_PEP” T1 ON T0.“Code” = T1.“Code”
ORDER BY T0.“U_DOI_ItemCode”
;

Gracias.

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.