I find it odd that I can not use the in clause as the inner query returns the excluded values when ran on its own.
When I run the full query I get this error
Browse mode is invalid for statements containing union, intersect, except operator.
SQL 2019 SAP 10
SELECT T9.[LineTotal] FROM OINV T8 INNER JOIN INV1 T9 ON T8.DocEntry = T9.DocEntry WHERE T8.[DocNum] IN ( SELECT Inside.[DocNum] FROM ( SELECT T1.[DocNum], CASE WHEN T3.[ZipCodeS] IS NOT NULL AND RIGHT(T3.[ZipCodeS],1) < 'A' AND T3.[CountryS] = 'CA' AND LEN(T3.[ZipCodeS]) <= '7' AND LEN(T3.[ZipCodeS]) >= '6' AND LEFT(T3.[ZipCodeS],1) != 'O' AND T3.[ZipCodeS] >= 'A' THEN T3.[ZipCodeS] ELSE CASE WHEN LEN(T1.[Address2]) > 7 AND LEFT(TRIM(RIGHT(T1.[Address2],7)),1) >= 'A' AND LEFT(TRIM(RIGHT(T1.[Address2],7)),1) != 'O' AND (SUBSTRING(TRIM(RIGHT(T1.[Address2],7)),4,1) = ' ' OR SUBSTRING(TRIM(RIGHT(T1.[Address2],7)),4,1) = '-') AND LEFT(TRIM(RIGHT(T1.[Address2],7)),2) != 'RM' AND RIGHT(T1.[Address2],1) < 'A' THEN TRIM(RIGHT(T1.[Address2],7)) WHEN (T2.[MailZipCod] IS NOT NULL OR T2.[MailZipCod] NOT LIKE '' OR T2.[MailZipCod] != '') AND T2.MailCountr = 'CA' AND RIGHT(T2.[MailZipCod],1) < 'A' THEN T2.[MailZipCod] ELSE 'Undefined' END END AS 'Province' FROM INV1 T0 INNER JOIN OINV T1 ON T0.DocEntry = T1.DocEntry INNER JOIN OCRD T2 ON T2.CardCode = T1.CardCode INNER JOIN INV12 T3 ON T3.DocEntry = T1.DocEntry WHERE T1.[DocDate] >= '[%0]' AND T1.[DocDate] <= '[%1]' GROUP BY T1.[DocNum], T3.[ZipCodeS], T2.[MailZipCod], T2.MailCountr, T3.[CountryS],T1.[Address2], TRIM(RIGHT(T1.[Address2],7)) ) Inside EXCEPT --Union SELECT Inside.[DocNum] FROM ( SELECT T1.[DocNum], CASE WHEN T3.[ZipCodeS] IS NOT NULL AND RIGHT(T3.[ZipCodeS],1) < 'A' AND T3.[CountryS] = 'CA' AND LEN(T3.[ZipCodeS]) <= '7' AND LEN(T3.[ZipCodeS]) >= '6' AND LEFT(T3.[ZipCodeS],1) != 'O' AND T3.[ZipCodeS] >= 'A' THEN T3.[ZipCodeS] WHEN T4.[ZipCode] IS NOT NULL AND RIGHT(T4.[ZipCode],1) < 'A' AND T4.[Country] = 'CA' AND LEN(T4.[ZipCode]) <= '7' AND LEN(T4.[ZipCode]) >= '6' AND LEFT(T4.[ZipCode],1) != 'O' AND T4.[ZipCode] >= 'A' THEN T4.[ZipCode] ELSE CASE WHEN LEN(T1.[Address2]) > 7 AND LEFT(TRIM(RIGHT(T1.[Address2],7)),1) >= 'A' AND LEFT(TRIM(RIGHT(T1.[Address2],7)),1) != 'O' AND (SUBSTRING(TRIM(RIGHT(T1.[Address2],7)),4,1) = ' ' OR SUBSTRING(TRIM(RIGHT(T1.[Address2],7)),4,1) = '-') AND LEFT(TRIM(RIGHT(T1.[Address2],7)),2) != 'RM' AND RIGHT(T1.[Address2],1) < 'A' THEN TRIM(RIGHT(T1.[Address2],7)) WHEN (T2.[MailZipCod] IS NOT NULL OR T2.[MailZipCod] NOT LIKE '' OR T2.[MailZipCod] != '') AND T2.MailCountr = 'CA' AND RIGHT(T2.[MailZipCod],1) < 'A' THEN T2.[MailZipCod] ELSE 'Undefined' END END AS 'Province' FROM INV1 T0 INNER JOIN OINV T1 ON T0.DocEntry = T1.DocEntry INNER JOIN OCRD T2 ON T2.CardCode = T1.CardCode INNER JOIN INV12 T3 ON T3.DocEntry = T1.DocEntry INNER JOIN CRD1 T4 ON T4.CardCode = T2.CardCode WHERE T1.[DocDate] >= '[%0]' AND T1.[DocDate] <= '[%1]' AND T4.[AdresType] = 'S' AND T4.[Address] = T1.[ShipToCode] GROUP BY T1.[DocNum], T4.[Country], T4.[ZipCode], T3.[ZipCodeS], T2.[MailZipCod], T2.MailCountr, T3.[CountryS],T1.[Address2], TRIM(RIGHT(T1.[Address2],7)) ) Inside )