2010-10-18 3 views
0

Возможно, я пытаюсь быть слишком умным для своих собственных целей, и я мог бы использовать скалярную переменную, чтобы решить эту проблему. Я пытаюсь добавить 1 к моему выводу из подзапроса;SQL SUM on aggregate function

INSERT INTO bookrevisiontbl (revisionnum, bookdate) 
SELECT SUM(MAX(revisionnum) + 1), GETDATE() FROM bookrevisiontbl_tbl 

Однако следующее сообщение об ошибке

Невозможно выполнить статистическую функцию на выражении, содержащем агрегат или вложенный запрос.

Является ли этот запрос можно, и для него, чтобы сохранить

ответ

5
INSERT INTO bookrevisiontbl (revisionnum, bookdate) 
SELECT MAX(revisionnum) + 1, GETDATE() FROM bookrevisiontbl_tbl 

Нет необходимости в сумме, как максимум будет возвращать одиночное значение

+0

@wonea, вы думали о создании какой-то в auto_increment целое на 'revisionnum'? – eumiro

+0

Согласен, я немного обдуман. ;-) – wonea