2010-10-18 1 views
0

Peut-être que j'essaie d'être trop intelligent pour mon propre bien, et je pourrais éventuellement utiliser une variable scalaire pour résoudre ce problème. J'essaie d'ajouter 1 à ma sortie de la sous-requête;SQL SUM sur la fonction d'agrégat

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

Cependant l'erreur suivante se produit

Impossible d'effectuer une fonction d'agrégation sur une expression contenant un agrégat ou une sous-requête.

Est cette requête possible, et de maintenir

Répondre

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

Pas besoin de somme comme max sera de retour valeur unique

+0

@wonea, avez-vous pensé établir une sorte d'un entier auto_increment à 'revisionnum'? – eumiro

+0

D'accord, je suis un peu embrassé. ;-) – wonea