Innanzitutto grazie per il tuo tempestivo intervento.
ti devo correggere un attimo sul discorso della select dove io non ricavo il valore numerico,ma di tipo stringa,e quindi di conseguenza dovrò fare una funzione a parte con dei select - case dove ogni tipo di stringa darà il valore a parte oppure con un if del tipo:
if vendita="esempio" or vendita="esempio1" ect..
@totale=toale+1;
e fin qui con la logica ci siamo ma a livello di pratica non mi funziona granchè.!
anche se successivamente a livello pratico, io ho adottato un altro sistema che è il seguente:
codice:
USE [DataEntry]
GO
/****** Oggetto: StoredProcedure [dbo].[Totalone] Data script: 05/10/2008 14:25:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Totalone](
@Campagna nvarchar(100),
@DataI DateTime,
@DataF DateTime)
AS
BEGIN
SET NOCOUNT ON;
Declare @i Integer
Declare @totaliparziali TABLE(id int identity Primary key, totvendite int,vendite nvarchar(100),campagna nvarchar(100),operatore nvarchar(100))
insert into @totaliparziali
select count(Operazioni.vendita)as totals,Operazioni.vendita,Operazioni.campagna,Operazioni.oper from dbo.Operazioni where Operazioni.campagna=@Campagna AND Operazioni.Data BETWEEN @DataI AND @DataF group by vendita,campagna,oper
--select count(*) from @totaliparziali;
SET @i=0
while @i<136
begin
select id,totvendite,vendite,campagna,operatore from @totaliparziali where id=@i
if (vendite='Senza Limiti + ADSL')
update @totaliparziali set totvendite=5 where id=@i;
SET @i=@i+1
end
END
non funziona perchè mi dice che vendite non esiste nel contesto corrente, oltrettutto anche a fare una aprova banale non funziona neppure l'update.Però penso che la logica anche in questo casi ci sta tutto.