У меня есть следующая таблица: compare
. Мне нужно сделать внутреннее соединение с products
таблицы:SQL, чтобы исключить результаты, если условие выполнено?
idCompare idProduct dateStamp
1 1 2011-12-12
2 1 2011-12-10
3 1 2012-01-05
Я хочу, чтобы исключить idproduct от моих результатов, если любой из них есть дата в течение 7 дней говорят.
Я попытался использовать NOT IN и NOT EXISTS без успеха
SELECT products.idProduct
FROM products INNER JOIN
compare ON products.idProduct = compare.idProduct
WHERE
(products.idProduct = '1') AND (products.idProduct
NOT IN
(SELECT idProduct
FROM compare
WHERE (products.idProduct = compare.idProduct) AND
(dateStamp < DATEADD(DAY, - 7, GETDATE()))))
Вы выбираете 'products.idProduct', хотя вы определяете его как' 1'. Это намеренно? – kba
Я просто тестировал этот пример, в конце концов, я удалю (products.idProduct = '1') – Standage
Вам не нужно присоединяться к 'ON products.idProduct = compare.idProduct'? Также вы хотите '>' или '> =' вместо '<' в последней строке, не так ли? –