Max function

venerdì 23 febbraio 2007 - 16.53

Donmarche84 Profilo | Newbie

Salve ho un problema e spero che per qualcuno sia di facile soluzione...
Devo fare una query che mi restituisca il valore massimo dell'id di una tabella ovviamente la query è strutturata come Select max(id) as xx from table aaa e fin qui tutto bene.
Il mio problema nasce quando questa tabella non ha nessuna riga...come posso in questo caso farmi restituire un valore?

Grazie....
Don_Marche

Jumpa Profilo | Junior Member

stai tipo gestendo un contatore?
se non ricordo male cosi ti ritorna un bel DBNull giusto?

io userei questo come valore per fare tutte le considerazioni del caso,
ad esempio se stai gestendo un contatore come ho supposto, in questo caso allora parti da 1 o dalla base chevuoi assegnare al contatore
-------------------------
Follow the White Rabbit...

http://www.jumpa.org
-------------------------

lbenaglia Profilo | Guru

>Il mio problema nasce quando questa tabella non ha nessuna riga...come
>posso in questo caso farmi restituire un valore?

Ciao Don_Marche,

dipende dal DBMS che stai utilizzando
Tutti i DBMS che aderiscono allo standard ANSI SQL possono ricorrere alla funzione COALESCE che restituisce il primo valore non nullo degli argomenti specificati, pertanto la tua query potrebbe essere scritta come:

SELECT COALESCE(MAX(ID), 0) AS xx FROM table ...

Nel caso in cui MAX(ID) sia NULL, la colonna xx sarà valorizzata a 0.

>Grazie....
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Donmarche84 Profilo | Newbie

Ottimo grazie mille...
Don_Marche
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5