Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    162

    Errore di Aggregazione con sql server 2005

    salve a tutti non riesco a trovare l'errore di cui sopra ho evidenziato in questa store procedure:




    END
    codice:
    USE [BSPF_GLOB]
    GO
    /****** Object:  StoredProcedure [dbo].[spInsertNewUserAmountZero]    Script Date: 03/16/2009 21:44:04 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER PROCEDURE [dbo].[spInsertNewUserAmountZero]
    (@idUser Int, @startDateIn varchar(14))
    AS
    BEGIN
    	
    	SET NOCOUNT ON;
    	IF @startDateIn = '' 
    		SET @startDateIn=CONVERT(varchar(4), Year(GetDate())) +  '0101000000'
    	DECLARE @maxReachableLeaves Float
    	DECLARE @daysAvailable Int
    	DECLARE @lastDayDate DateTime
    	DECLARE @newRange Float
    	DECLARE @firstEmptyLeaveId Int
    	DECLARE @startDate DateTime
        DECLARE @leaveType Int
    
        SET @leaveType=2
    
    	SET @startDate = dbo.StringToData(@startDateIn)
    
    	SELECT @maxReachableLeaves = leaMaxReachable
    	FROM dbo.leaveType
    	WHERE IDLeaveType=@leaveType --VALORE PER FERIE	
    	
    	--SELECT CONVERT(varchar(4), Year(GetDate()))
    	SET @lastDayDate=dbo.StringToData(
    							CONVERT(varchar(4), Year(GetDate())) + 
    							'1231000000' )
    	--SELECT LASTDATE=@lastDayDate
    	
    	SET @newRange=DATEDIFF(day, @startDate, @lastDayDate)
    	--SELECT STARTDATE=@startDate
    	--SELECT NEWRANGE=@newRange
    	
    	SET @daysAvailable= @newRange*(@maxReachableLeaves/365.00) + 1
    	SELECT daysAvailable=@daysAvailable
        SELECT @firstEmptyLeaveId = ISNULL(MAX(IDLeaveRequest), 0) + 1 FROM [dbo].[leaveRequest]
    	
    INSERT INTO [BSPF_GLOB].[dbo].[leaveRequest]
    SELECT @firstEmptyLeaveId,@idUser,@leaveType,@startDate,@lastDayDate,0,365.0,'','Via Paolo Romeo',
    3289247564,@idUser,@idUser,50,GetDate(),@idUser,GetDate(),@idUser FROM leaveRequest Lea 
    INNER JOIN 
    EMPLOYEE Em ON Lea.idUser = Em.id
     WHERE Lea.idUser = @idUser AND SUM(Lea.leaAmount) < ((@maxReachableLeaves/Em.PercPartTime)*100)
    		
    	GROUP BY Lea.leaAmount,Em.PercPartTime	
    
    		/*VALUES(	@firstEmptyLeaveId	,@idUser,@leaveType	--LeaveType ,@startDate ,@lastDayDate
    				,0  --AMOUNT PER NUOVO ASSUNTO!
    				,365.0
    				,''
    				,'VIA DEI GIGLI'
    				,23232323
    				,@idUser
    				,@idUser
    				,50 --VALORE PER PERMESSI CREATI ED APPROVATI DAL PARENT!
    				,''
    				,GetDate()
    				,@idUser
    				,GetDate()
    				,@idUser)
    
    
    */
    Spero mi possiate aiutare(come sempre..)

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    162
    Nessuno mi può aiutare in questa store?

    Grazie

  3. #3

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    162
    Vi chiedo scusa per la mia negligenza nel impostare una nuova discussione con la mancanza di informazioni uitli per il raggiungimento dello scopo.

    Comunque questo è l'errore che mi dà:

    codice:
    An aggregate may not appear in the WHERE clause unless it is in a subquery contained in a HAVING clause or a select list, and the column being aggregated is an outer reference.
    Grazie ancora per il Vostro aiuto prezioso!

  5. #5
    prova ad usare HAVING invece di WHERE (HAVING va dopo GROUP BY)

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    162
    Si grazie adesso funziona, però ho un altro problema su un 'altro problema su un altra store

    Spero mi possiate aiutare anche su questa

    Grazie di tutto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.