SQL: conteggi per fasce di valori

23 marzo 2010 - Fonte: http://www.dicesare.com

In questo articolo spiegherò come ottenere una classificazione per fasce di una serie di valori.

Una delle classificazione classiche di una lista di valori è per fasce (di prezzo, ad esempio): quanti articoli costano meno di 100 Euro? Quanti tra 100 e 200? e così via.

La soluzione migliore sarebbe di inserire la fascia già nel record da classificare, magari con un trigger. Questa però è una soluzione ’statica’, che prevede una classificazione rigida decisa a priori.

Potrebbe invece essere necessario creare una classificazione arbitraria, momentanea e non decisa a priori.

Per ottenere questi tipo di prospetto, si può usare una combinazione di GROUP BY e CASE, come nell’esempio che segue:

Leggi il seguito »

     		     

SQL: INSERT o UPDATE in automatico

21 marzo 2010 - Fonte: http://www.dicesare.com

Come far decidere direttamente allo script SQL se fare una INSERT o una UPDATE.

Quante volte vi sarà capitato di dover aggiornare una tabella con dei dati provenienti da una fonte esterna? Nella maggioranza dei casi, i dati da importare possono sia essere nuovi rispetto alla vostra tabella che essere degli aggiornamenti.
Scorrere con un cursore la tabella da importare e vedere record per record se è una novità o un aggiornamento è una scelta poco efficiente. Quale può essere allora una soluzione più performante?

Sfruttare la JOIN

La domanda necessaria da farsi è questa: in base a quale chiave riesco a capire se un record è una novità o un aggiornamento?

Una volta trovata la risposta, il meccanismo è semplice:

SQL: convertire un valore float in un varchar

19 marzo 2010 - Fonte: http://www.dicesare.com

In questo articolo spiegherò come convertire in sicurezza una colonna float in una colonna varchar.

Mi è recentemente capitato di dover trasformare dei valori contenuti originariamente in una colonna float in un’altra colonna di tipo varchar. Il caso pratico si verifica facilmente, ad esempio con i numeri di telefono, partita iva, ecc.

La prima cosa che viene in mente è di effettuare una conversione diretta.

ALTER TABLE nome_tabella ALTER COLUMN VARCHAR(11)

Sembra tutto corretto, ma il risultato è inaccettabile; infatti la colonna trasformata conterrà i dati con notazione scientifica. Ad esempio il numero 897654539 diventa 8e+024454.

Questo perché il formato float contiene il numero...

Leggi il seguito »

Come recuperare una pratica archiviata per errore

28 febbraio 2010 - Fonte: http://www.dicesare.com

Avete archiviato una pratica per errore e volete recuperarla e riportarla nell’archivio corrente. Come fare?

Come recuperare una pratica archiviata per errore


Élite dispone di una comoda funzione che permette di archiviare una o più pratiche; in effetti, l’archiviazione è semplicemente uno spostamento di una pratica (con le informazioni ad essa collegate, quali scadenze, prestazioni, ecc.) da un archivio all’altro; nel caso classico di archiviazione, lo spostamento è dall’archivio corrente (quello cioè delle pratiche correntemente aperte e in lavorazione) a quello storico (cioè l’archivio delle pratiche chiuse ed archiviate).

Come abbiamo detto, è possibile effettuare l’archiviazione...

Leggi il seguito »

Come inserire una prestazione con una descrizione molto lunga

16 febbraio 2010 - Fonte: http://www.dicesare.com

Avete bisogno di inserire una prestazione la cui descrizione supera i 120 caratteri. Come fare?

Come inserire una prestazione con una descrizione molto lunga


Élite, per la registrazione delle prestazioni, mette a disposizione 120 caratteri per inserire la descrizione; essi sono normalmente sufficienti, ma potrebbe presentarsi la necessità di inserire una descrizione ben più lunga.

Per poterlo fare basterà inserire nelle note della prestazione ciò che si scriverebbe normalmente nella descrizione; le note non hanno limiti di capienza, quindi potrete scrivere tutto quello che vi serve; nella descrizione invece metteremo come primo carattere un asterisco (*) o il simbolo # (cancelletto)....

Leggi il seguito »

SQL: uso di una lista di valori in una SELECT…WHERE

12 febbraio 2010 - Fonte: http://www.dicesare.com

In questo articolo spiegherò come effettuare una query SELECT…WHERE usando una lista di valori.

E’ abbastanza comune dover effettuare delle query SQL usando una lista di valori anziché un valore singolo.

L’operatore OR

Questa operazione viene effettuata normalmente usando l’operatore OR.

Se ad esempio vogliamo selezionare i clienti che si trovano nelle provincie di Milano e Como, basterà scrivere una query così:

SELECT
   Denominazione, Indirizzo, Localita
FROM
   Clienti
WHERE
   Provincia='MI' OR Provincia='CO'

L’operazione però diventa lunga e tediosa se la lista contiene molti valori: pensate infatti a cosa diventerebbe...

Leggi il seguito »

SQL: come riparare il database di sistema ‘msdb’ danneggiato

18 gennaio 2010 - Fonte: http://www.dicesare.com

Il database di sistema ‘msdb’ di SQL Server 2005 può danneggiarsi: ecco come ripararlo.

Tra i database di sistema di Microsoft SQL Server 2005, ve ne è uno denominato ‘msdb’ che viene usato normalmente come supporto per le pianificazioni ed altre operazioni di manutenzione o di backup.
Può accadere che si danneggi, e che di conseguenza molte operazioni diventino impossibili.
Dato che non si tratta di un normale database, non può essere oggetto di normali operazioni quali attach e detach, ma bisogna seguire una procedura diversa.

...

Leggi il seguito »

Outlook: condivisione dati con WorkgroupShare

15 gennaio 2010 - Fonte: http://www.dicesare.com

Per un uso efficace di Outlook in rete: condividere i dati con i vostri colleghi con WorkgroupShare.

Outlook per molti è sinonimo di posta elettronica, ma potete usarlo per molte altre cose: contatti, attività, calendario e note; se iniziate ad adoperarlo sul serio, finirà che conterrà moltissimi dati; se poi non lavorate da soli, avrete necessità di condividere questi dati con i vostri colleghi, o di costituire degli archivi comuni a cui tutti possono attingere.

Pensate ad esempio ad un unico archivio di indirizzi, o alla possibilità di vedere in tempo reale se un vostro collega è libero in una certa data per fissare un appuntamento comune. Normalmente la soluzione è l’installazione di Exchange Server, che però ha un costo elevato,...

Leggi il seguito »

Come modificare o azzerare l’aliquota del contributo integrativo C.P.A. (Cassa Previdenza Avvocati)

5 gennaio 2010 - Fonte: http://www.dicesare.com

Élite vi permette di cambiare secondo necessità l’aliquota usata per il calcolo del contributo integrativo C.P.A. nel riepilogo finale della stampa parcella. Potrete cambiarla in modo temporaneo (per esempio se state predisponendo una parcella per un cliente con cui avete stipulato una convenzione) o in maniera definitiva, per un’eventuale variazione di legge.


Come modificare l’aliquota del contributo integrativo C.P.A. in modo temporaneo


In fase di stampa parcella, dopo aver inserito i parametri di stampa, accedete al tab (o linguetta) denominato “Opzioni di stampa”; nella sezione “Opzioni Fiscali” troverete una casella dove è già indicata l’aliquota di default; l’immagine...

Leggi il seguito »

Da Eudora ad Outlook: odissea di una migrazione – i vantaggi

27 dicembre 2009 - Fonte: http://www.dicesare.com

Dopo la migrazione da Eudora ad Outlook: ci sono anche dei vantaggi!

Come già raccontato nell’articolo Da Eudora ad Outlook: odissea di una migrazione – le premesse, sono passato da Eudora ad Outlook; nell’articolo successivo Da Eudora ad Outlook: odissea di una migrazione – le difficoltà ho esposto le difficoltà incontrate. In quest’articolo, elencherò i...

Leggi il seguito »