|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
[SQL]Errore in query..........
Ciao a tutti, sto facendo un piccolo lavoro su OpenOffice.org Base, però creando una ricerca mi da un errore in una query.
La query è questa: Codice:
SELECT "Gestore" AS "Gestore", "Data" AS "Data", SUM( "Importo €" ) AS "Importo €", "Descrizione" AS "Descrizione" FROM "Versamenti" AS "Versamenti" WHERE "Gestore" = 'TESTINGMARKET' ORDER BY "Data" ASC Se tolgo il "SUM" la query funziona, ma a me ovviamente servirebbe la somma dei valori L'errore è questo: ![]() Siccome l'SQL non l'ho mai usato, non capisco se è un errore su OO-Base o sulla query. Qualcuno mi può aiutare? Grazie. Ciao. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Dimenticavo, se io provo una query di questo tipo:
Codice:
SELECT SUM( "Importo €" ) AS "Importo €" FROM "Versamenti" |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
La query non funziona perche' ha un errore, essenzialmente manca la clausola di GROUP BY.
Ma tutto dipende da che cosa hai all'inizio (ovvero il significato di quella tabella e di ciascuno dei suoi campi) e di cosa vuoi ottenere alla fine.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Alla fine dovrebbe darmi una lista dei record con campo "Gestore" = 'TESTINGMARKET' e la somma di tutti i campi "Importo €"
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Vorresti quindi la lista di tutti i dettagli di TestingMarketing e poi anche il totale di tutti i record insieme.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Vorrei la lista dei records con alla fine una riga con i totali del campo "Importo €". E' possibile?
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Una query SQL tipica restituisce dati tutti omoegenei, dello stesso tipo. Ovviamente i record dei dettagli hanno un singificato diverso da quelli del totale. Meglio 2 query, una per i dettagli, e una per il totale. Ma chi e' che dovra' leggere questi dati? (Intendo quale programma di presentazione)
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Quote:
Ma come cavolo faccio a mettere due query? Ci ho provato ma mi da sempre errore! Sono riuscito a fare una query con GROUP BY che mi da solo i totali, ma io volevo la lista dei record con i valori dettagliati più il totale. |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Le 2 query sarebbero proprio 2 queary, separate, ciascuna per il proprio scopo
Codice:
SELECT * FROM "Versamenti" WHERE "Gestore" = 'TESTINGMARKET' ORDER BY "Data" ASC Codice:
SELECT SUM( "Importo €" ) AS "Importo €" FROM "Versamenti" Quale programma lancera' queste query e cosa puo' fare con i risultati? Openoffice? Allora immagina di dover mettere sul foglio elettronico 2 zone una per la prima query. una per la seconda query.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#10 | ||
|
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Quote:
Ho provato a scrivere la query in questo modo: Codice:
SELECT * FROM "Versamenti" WHERE "Gestore" = 'TESTINGMARKET' ORDER BY "Data" ASC SELECT SUM( "Importo €" ) AS "Importo €" FROM "Versamenti" Quote:
Avendo scritto all'inizio della discussione che stavo lavorando su OpenOffice, credevo che tu mi stessi chiedendo un'altra cosa. |
||
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Prova a mettere un punto e virgola ;
alla fine di ciascuno statement.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#12 |
|
Member
Iscritto dal: Nov 2006
Messaggi: 188
|
come fai ad utilizzare mysql su open office ?
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Quote:
Codice:
Stato SQL: HY000 Codice di errore: 1000 syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE |
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Sto usando OpenOffice Base che lo usa già di suo.
Non l'avevo mai utilizzato prima, però devo dire che è gradevole da usare sia per l'impostazione dei formulari che per la creazione di tabelle ecc. Mi sono un po' intrippato in questa cosa, però per il resto mi sembra bello N.B. Ovviamente il mio è un parere di uno che database non ne ha mai usati
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Oct 1999
Messaggi: 1565
|
Non stai usando MySQL ma HSQLDB:
http://www.hsqldb.org che è il motore incorportato di Base. Il fatto che tu non possa eseguire più di una query è un limite di Base, puoi eseguirle una di seguito all'altra ma in due query salvate separatamente aprendo quindi due finestre separate. Per ottenere il risultato che cerchi devi installare l'estensione Sun Report Builder, usare la prima query come sorgente dati ed aggiungere i campi calcolati nel report. Se vuoi usare MySQL come backend devi installare il driver JDBC e creare una connessione con questo. |
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Oct 1999
Messaggi: 1565
|
Quote:
Apri Calc, premi F4 naviga fino alle query che ti interessano e trascinale in un foglio. |
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Ah ecco!
Quanto rimpiango il vecchio Filing Assitant dell'IBM |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Oct 1999
Messaggi: 1565
|
Beh, anch'io sono
ma non lo rimpiango e sopratutto non rimpiango Dbase III e il dot prompt. |
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Quote:
La tecnologia è andata avanti, però non ho trovato un prodotto moderno che ti permetta di mettere in piedi velocemente come con filing assistant un piccolo database con possibilità di fare ricerche e report in tutte le salse. Alla fine, con filing assistant avrei già fatto quello che mi serve e ci starei già lavorando, con le avanzate tecnologie del 2009, è da ieri che ci sto dietro e non ho ancora finito e a questo punto non so nemmeno se finirò |
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Un po' come Access
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:56.













ma non lo rimpiango e sopratutto non rimpiango Dbase III e il dot prompt.







