>Dove sbaglio nel case?
>
Sintassi errata. Ecco quella corretta:
UPDATE
Archivio_mov_new
SET
dataarrivo=@dataArrivo
, datapartenza = CASE
WHEN @flag = 1 THEN @datapartenza
ELSE datapartenza
END
, idstato=@idstato
, idcomune=@idcomune
, idgruppo=@idgruppo
WHERE
codalbergo=@codalbergo
>e a questa ?
Questa la farei così:
SELECT
progschedina
, MIN(iddb) AS id
FROM
dbo.ARCHIVIO_MOV_NEW
WHERE
progschedina = @progschedina And
ISNULL(datapartenza,'19000101') = Case When @Flag = 0 Then '19000101' Else @datapartenza
END
GROUP BY progschedina
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org