Я хочу выбрать SKU, который не находится ('DC01', '5000'), но находится в ('1003', '1039', '1012'), где СУММ больше 3. Я намерен вернуть нулевые записи, так как SKU '000000001041106003' находится в '1003' с StockOnH и больше 3, но имеет значение StoreID 'DC01', однако значение SKU '000000001041106003 'возвращается. Этот SKU имеет StoreID от «DC01» и «1003».SQL SELECT * WHERE значение NOT IN list и IN другой список
Что мне нужно сделать, чтобы получить желаемый результат?
productName SKU StoreId StockOnHand webenabled
.Speedo Yarn 000000001041106001 1003 1 1
.Speedo Yarn 000000001041106002 1003 3 1
.Speedo Yarn 000000001041106003 1003 4 1
.Speedo Yarn 000000001041106003 DC01 0 1
SELECT DISTINCT(SKU)
FROM etlStoreAssortment
WHERE StoreId NOT IN ('DC01','5000')
AND StoreId IN ('1003','1039','1012') GROUP BY SKU HAVING SUM(StockOnHand) > 3
им не уверены, какой диалекте вы используете, но в любом случае я бы писать «... НЕ В ...» так «... НЕ StoreID IN (....» –
user2504380
В соответствии с данными и вашим запросом вывод правильный. Каждая запись проверяется отдельно от условий. –