2015-09-22 3 views
0

Я пытаюсь выяснить, когда таблица была изменена, но только для строк, которые соответствуют определенному условию. Я пробовал с этим запросом:CHECKSUM_AGG и WHERE условия в SQL

SELECT CHECKSUM_AGG(BINARY_CHECKSUM(LastChanged)) FROM Products WHERE Category = 2 WITH (NOLOCK) 

и я получаю общую ошибку SQL Server. Если я выполнить запрос непосредственно, ошибка:

Incorect синтаксис около «(»

Можно ли получить контрольную сумму для строк, которые удовлетворяют условию только

ответ

1

? ошибка была вызвана неправильным помещенным намеком запроса, а не ваше использование выражения CHECKSUM.

Хотя это могло бы помочь прочитать на whether you should really be using NOLOCK at all, попробуйте положить WITH (NOLOCK) после вас r FROM:

SELECT CHECKSUM_AGG(BINARY_CHECKSUM(LastChanged)) 
FROM Products WITH (NOLOCK) 
WHERE Category = 2