Somma di due campi in una query

sabato 15 novembre 2008 - 11.41

matia Profilo | Newbie

Ciao a tutti.

Devo sommare i valori contentuti in due campi di una query e non ci riesco.
Usando l'espressione TOTALE: [COSTO_CORSO]+[COSTO_TESSERA] ottengo la concatenazione dei due campi ma non la somma.

Qual'è la procedura corretta?

Grazie

Matia

VitoBa Profilo | Newbie

Ciao, se i due campi fanno parte delle stessa tabella e ad esempio sono IMPOSTA e iMPONIBILE e vuoi sapere il totale devi scrivere
[IMPOSTA]+[IMPONIBILE] AS TOTALE

Ciao

matia Profilo | Newbie

Ciao grazie per aver risposto!

Nel generatore di espressioni se scrivo [COSTO_CORSO] + [COSTO_TESSERA] AS TOTALE mi dice "Errore di sintassi: E' possibile che sia stato immessso un operando senza un operatore" quindi ad ora sbaglio ancora qualcosa!

lbenaglia Profilo | Guru

>Usando l'espressione TOTALE: [COSTO_CORSO]+[COSTO_TESSERA] ottengo
>la concatenazione dei due campi ma non la somma.

Ciao Matia,

Che DBMS stai utilizzando?
Verifica che il data type delle due colonne sia numerico e non stringa.

>Grazie
Prego

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

matia Profilo | Newbie

E' un database access .mdb

Da "visualizzaione struttura" della query ho impostato dalla scheda "proprietà" il formato "numero generico" e ho anche provato con "euro" ma nessuna delle due espressioni che puoi leggere nel topic funziona.

lbenaglia Profilo | Guru

>Da "visualizzaione struttura" della query ho impostato dalla
>scheda "proprietà" il formato "numero generico" e ho anche provato
>con "euro" ma nessuna delle due espressioni che puoi leggere
>nel topic funziona.

Zippa ed allega il file ad un nuovo post, indicando la tabella che contiene le due colonne che intendi sommare.

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

matia Profilo | Newbie

ecco... ho tolto i dati e le maschere.
la query dove devo aggiungere la somma che mi interessa è Q_ISCRITTI e deve sommare COSTO_TESSERA e COSTO_CORSO

grazie per la disponibilità!

lbenaglia Profilo | Guru

>ecco... ho tolto i dati e le maschere.
>la query dove devo aggiungere la somma che mi interessa è Q_ISCRITTI
>e deve sommare COSTO_TESSERA e COSTO_CORSO

Allora, la tua query è piena di IIf nelle quali racchiudi tra doppi apici anche gli importi ed i dati numerici.
Di conseguenza per Access si tratta di stringhe e l'operatore "+" non fa altro che concatenarle.
Ho riveduto e corretto la query, togliendo i doppi apici quando superflui e sostituendo il punto alla virgola per gli importi:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Grande Lindsey, hai visto che discesona ha fatto oggi a Levi?

>grazie per la disponibilità!
Prego.

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

matia Profilo | Newbie

Ho provato a fare un pò di copia e incolla con le query corrette che mi hai mandato.

Ho sostituito la mia
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

con la tua
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

e mi restituisce "errore di sintassi nell'espressione: openrado o operatore mancante, carattere o virgola non valida.... etc"
Stesso errore se provo a copiare altre query...

Che c'è che sbaglio?

Si nota che non sono un informatico?!

Purtroppo non ho potutto vedere le gare...

lbenaglia Profilo | Guru

>Ho provato a fare un pò di copia e incolla con le query corrette
>che mi hai mandato.
>
>Ho sostituito la mia
>PACCHETTO_OFFERTA: IIf([CORSO]="SI" And [DATA_DI_NASCITA]<#01/01/1990#;"ADULTO";IIf([CORSO]="SI"
>And [DATA_DI_NASCITA]>=#01/01/1990# And [DATA_DI_NASCITA]<#01/01/1994#;"RAGAZZO";IIf([CORSO]="SI"
>And [DATA_DI_NASCITA]>=#01/01/1994#;"BAMBINO")))
>
>con la tua
>, IIf([CORSO]="SI" And [DATA_DI_NASCITA]<#1/1/1990#,"ADULTO",
>IIf([CORSO]="SI" And [DATA_DI_NASCITA]>=#1/1/1990# And [DATA_DI_NASCITA]<#1/1/1994#,"RAGAZZO",
>IIf([CORSO]="SI" And [DATA_DI_NASCITA]>=#1/1/1994#,"BAMBINO")))
>AS PACCHETTO_OFFERTA
>
>
>e mi restituisce "errore di sintassi nell'espressione: openrado
>o operatore mancante, carattere o virgola non valida.... etc"
>Stesso errore se provo a copiare altre query...
Non capisco cosa stai copiando

Il comando di SELECT che ti ho allegato corrisponde alla tua query Q_ISCRITTI riveduta e corretta.
Quindi, apri Q_ISCRITTI, tasto DX sulla caption della finestra, SQL View ed incolla l'intero comando di SELECT, premi "il punto esclamativo rosso" (Run) per eseguirla e se va bene salvala.

>Purtroppo non ho potutto vedere le gare...
Ahhhhh, ti sei perso un garone.

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

matia Profilo | Newbie

grandeeeeeeeeee!!!!!!! Grazie mille!!!

Solo una cosa. Io prima le query le creavo/modificavo per "via grafica". Ci cliccavo col dx e le aprivo in "visualizzazione struttura". Ora la query che ho modificato come mi hai detto tu si apre in "modalità testo". Come mai?
Anche se resta così non è un problema ma spero solo di non aver rogne a modificarla in futuro....


GRAZIE ANCORAAAAAAAA!!!!

lbenaglia Profilo | Guru

>Solo una cosa. Io prima le query le creavo/modificavo per "via
>grafica". Ci cliccavo col dx e le aprivo in "visualizzazione
>struttura". Ora la query che ho modificato come mi hai detto
>tu si apre in "modalità testo". Come mai?
Perché hai appena scelto la visualizzazione SQL.
Riesegui click con il tasto DX sulla caption, Design View (che in italiano dovrebbe corrispondere a "Visualizzazione Struttura") e rivedrai il QBE (Query By Example) ovvero l'editor grafico.

>Anche se resta così non è un problema ma spero solo di non aver
>rogne a modificarla in futuro....
Guarda, ti suggerisco di prenderti un po' di tempo per imparare gradualmente a scrivere manualmente i tuoi comandi SQL in modo da avere un controllo maggiore sul codice prodotto.

>GRAZIE ANCORAAAAAAAA!!!!
Ehm... non ci scappa un abbonamento VITALIZIO allo sci club comprensivo di skipass gratuito?

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

matia Profilo | Newbie

>Perché hai appena scelto la visualizzazione SQL.
>Riesegui click con il tasto DX sulla caption, Design View (che
>in italiano dovrebbe corrispondere a "Visualizzazione Struttura")
>e rivedrai il QBE (Query By Example) ovvero l'editor grafico.

Ahahahahah, guarda dove dovevo andare a perdermi!
Io e access non andiamo d'accordo... una specie di idiosincrasia informatica!

>Guarda, ti suggerisco di prenderti un po' di tempo per imparare
>gradualmente a scrivere manualmente i tuoi comandi SQL in modo
>da avere un controllo maggiore sul codice prodotto.

Eh si mi piacerebbe sasperlo usare decentemente... è potente come aggeggio! Comunque per ora questo database partorito con non poche difficoltà fa il suo lavoro!

>Ehm... non ci scappa un abbonamento VITALIZIO allo sci club comprensivo
>di skipass gratuito?

Scrivimi in privato... comunque purtroppo di skipass gratis non se parla!!!

Ah ho visto che ti interessi pure di musica! Anch'io!
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