Ciao,
avrei bisogno di capire una query per iniziare a capire Microsoft SQL :-)
La query e' questa :
SET NOCOUNT ON
SELECT Id_Cli
INTO #tmpNotValid
FROM Dettaglio_Prenot
WHERE Log_State = 'V' AND Id_Cli is Not Null
GROUP BY Id_Cli
HAVING CASE WHEN Count(Id_cli) > SUM(CASE WHEN NumCam-NumCamAss >0 THEN 1 ELSE 0 END) THEN 1 ELSE 0 END=0
SET NOCOUNT OFF
cosa vogliono dire queste istruzioni ?
SELECT Id_Cli : seleziona il valore contenuto nel campo id_Cli
FROM Dettaglio_Prenot : dalla tabella Dettaglio_Prenot
WHERE Log_State = 'V' AND Id_Cli is Not Null : dove il campo Log_State sia uguale al carattere V ed il campo id_Cli non sia vuoto
GROUP BY Id_Cli : raggruppa per il campo id_Cli
HAVING CASE WHEN Count(Id_cli) > SUM(CASE WHEN NumCam-NumCamAss >0 THEN 1 ELSE 0 END) THEN 1 ELSE 0 END=0 : HAVING CASE cosa fa? poi, mi sembra che verifichi che esista un valore maggiore di 0 sui campi NumCam-NumCamAss ?
Grazie