FORUM PER UTENTI MILLEWIN
Attenzione !
Per intervenire sul forum è necessario essere registrati e connessi.

L'Amministratore

****************************************************
“Se tu hai una mela ed io ho una mela, e ce la scambiamo, alla fine tu ed io avremo sempre una mela ciascuno.
Ma se tu hai un’idea ed io ho un’idea, e ce la scambiamo, allora avremo entrambi due idee”.

George Bernard Shaw
****************************************************

Test per PostGres SQL

Andare in basso

Test per PostGres SQL

Messaggio  draleo83 il Mar 19 Mar 2013 - 15:10

Alcuni colleghi che utilizzano MW con Postgres riferiscono che le vecchie query, basate sugli archivi, non funzionano più (nel senso che, secondo loro, non estraggono più i dati).

Io ho qualche dubbio in merito, ma non avendo MW con postgres , non posso pronunciarmi. Chiedo quindi a qualche collega che utilizzasse il nuovo DB, di lanciare questa semplice query da Milleutilità e verificare se vengono estratte l’Emoglob glicate precritte nel 2013.

Grazie
draleo

SELECT p.cognome,p.nome, DATEDIFF(YEAR, p.nascita,'2013/01/01') eta, a.ac_des, a.data_open, a.ac_val as risultato
FROM pazienti p , Nos_002 nos, cart_accert a
WHERE a.ac_nt_code= '90.28.1'
AND p.codice=nos.codice
AND p.codice=a.codice
And a.data_open between '2013/01/01' And '2013/12/31'
order by 1,2 Desc
avatar
draleo83
Membro Junior
Membro Junior

Messaggi : 217
Punti : 3010
Voti per importanza dei messaggi : 24
Data d'iscrizione : 21.02.11

Visualizza il profilo

Torna in alto Andare in basso

Re: Test per PostGres SQL

Messaggio  Admin il Mer 20 Mar 2013 - 17:11

Caro Leonado, sembrerebbe che Postgres usi le stesse tabelle con i relativi campi rispetto ad SQL, ed in effetti le query che utilizzano i campi semplici funzionano correttamente, mentre appena si passa ad una formula un po' più complicata, non funziona.

Infatti per la tua query, se si usa "DATEDIFF(YEAR, p.nascita,'2013/01/01') eta, si ottiene il seguente errore:

ERRORE SQL:

SQLSTATE=42703

ERROR: column "year" does not exists;

No query has been executed

with that handle

Se invece si sostituisce il campo con "p.nascita" tutto funziona. Non sono riuscito a capirne il motivo.

_________________
L'Amministratore
Giuseppe Blasio
avatar
Admin
Admin
Admin

Messaggi : 521
Punti : 3386
Voti per importanza dei messaggi : 85
Data d'iscrizione : 20.02.11
Località : CASERTA

Visualizza il profilo http://utentimillewin.forumattivo.it

Torna in alto Andare in basso

Re: Test per PostGres SQL

Messaggio  draleo83 il Mer 20 Mar 2013 - 20:14

per calcolare l'età ,prova ad utilizzare
Days(p.nascita,'2013/01/01')/365
vediamo se questa viene accettata. Comunque la cosa mi sembra abbastanza strana. I colleghi non riferiscono il messaggio di errore da te segnalato, ma solo la NON estrazione dei dati e SOLAMENTE per quelli inseriti successivamente alla installazione di postgres. Mentre quelli inseriti precedentemente ,- a dir loro- vengono regolarmente estratti. E questo mi sembra poco logico. A meno che ... i dati inseriti successivamente a postgres non siano memorizzati in altri archivi. E allora sarebbero cavoli amari. Oppure non escludo che i colleghi in questione - che conoscendoli, non sono delle "aquile" in informatica - possano aver commesso qualche castroneria
Comunque Se tu hai postgres , puoi fare qualche prova in merito ? Io sabato mi faccio prestare da un collega un portatile con postgres e vediamo se riesco a capire l'inghippo
Grazie
Leonardo







Admin ha scritto:Caro Leonado, sembrerebbe che Postgres usi le stesse tabelle con i relativi campi rispetto ad SQL, ed in effetti le query che utilizzano i campi semplici funzionano correttamente, mentre appena si passa ad una formula un po' più complicata, non funziona.

Infatti per la tua query, se si usa "DATEDIFF(YEAR, p.nascita,'2013/01/01') eta, si ottiene il seguente errore:

ERRORE SQL:

SQLSTATE=42703

ERROR: column "year" does not exists;

No query has been executed

with that handle

Se invece si sostituisce il campo con "p.nascita" tutto funziona. Non sono riuscito a capirne il motivo.
avatar
draleo83
Membro Junior
Membro Junior

Messaggi : 217
Punti : 3010
Voti per importanza dei messaggi : 24
Data d'iscrizione : 21.02.11

Visualizza il profilo

Torna in alto Andare in basso

Re: Test per PostGres SQL

Messaggio  Admin il Mer 20 Mar 2013 - 20:44

Con "Days(p.nascita,'2013/01/01')/365" funziona e devo confermare che tutte le query già utilizzate per il passato che avessero una qualunque formula, non funzionano.

_________________
L'Amministratore
Giuseppe Blasio
avatar
Admin
Admin
Admin

Messaggi : 521
Punti : 3386
Voti per importanza dei messaggi : 85
Data d'iscrizione : 20.02.11
Località : CASERTA

Visualizza il profilo http://utentimillewin.forumattivo.it

Torna in alto Andare in basso

Re: Test per PostGres SQL

Messaggio  draleo83 il Gio 21 Mar 2013 - 12:28

Admin ha scritto:Con "Days(p.nascita,'2013/01/01')/365" funziona e devo confermare che tutte le query già utilizzate per il passato che avessero una qualunque formula, non funzionano.
Caro Giuseppe, puoi farmi un favore ? (se nel tuo PC hai installato Excel). Nel mio sito
http://www.docdragoservice.com/index.php
nella sezione download ,nella cartella ASL PG, c'è il file Progetto RCV 2013, che serve per un nostro progetto aziendale. Alcuni colleghi, solo quei 4-5 che usano postgres, riferiscono che tale procedudura non estrae i dati inseriti dopo l'installazione di postgres . Puoi provarmelo con i tuoi dati per verificare se anche nel tuo caso , si verificasse questa anomalia?
grazie
draleo
avatar
draleo83
Membro Junior
Membro Junior

Messaggi : 217
Punti : 3010
Voti per importanza dei messaggi : 24
Data d'iscrizione : 21.02.11

Visualizza il profilo

Torna in alto Andare in basso

Re: Test per PostGres SQL

Messaggio  Cervino il Gio 21 Mar 2013 - 13:15

Caro Leonardo , non avendo Excell , non Ti posso aiutare nella verifica ma comunque quanto asserito dai Colleghi della Tua ASl è sicuramente corretto .
Adattare le query da MySQL a PostgreSQL è un' impresa ardua , dato che :
1) buona parte delle funzioni deve essere sostituita ( non è semplice neppure formattare un campo ( se puo' essere : un numero Intero o Decimale con punto o virgola , una stringa , ... )
2) Non è possibile inserire nelle subquery riferimenti a campi esterni ( età , sesso , risultato di altre subquery , sommare i punteggi delle varie colonne , ... ) nel classico e semplice modo utilizzato in MySQL ma bisogna modificare radicalmente l' impostazione della query ( nel Report da inviare alla mia ASL vi sono oltre 80 colonne ) ma per il momento non sono ancora riuscito a trovare una soluzione esaustiva .
Comunque potrei eventualmente provare una query .
Ti saluto , Sergio , Orzivecchi , BS


Cervino
Membro Junior
Membro Junior

Messaggi : 219
Punti : 2963
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 63
Località : Orzivecchi (BS)

Visualizza il profilo

Torna in alto Andare in basso

Re: Test per PostGres SQL

Messaggio  draleo83 il Ven 22 Mar 2013 - 10:23

Quanto da voi affermato è sicuramente valido.Ma nel mio file l'unico costrutto un pò complicato (si fa per dire)è la seguente string (che concatena cognome,nome,età). Forse è questa a non essere accettata ? Per il resto non vi sono funzioni o altre cose complesse


SELECT
String (
p.cognome,' ', p.nome,


IF p.decesso is null THEN
(days(p.nascita,'2013/01/01')/365)

ELSE (days(p.nascita,p.decesso)/365)


ENDIF


) as nome


FROM pazienti p
avatar
draleo83
Membro Junior
Membro Junior

Messaggi : 217
Punti : 3010
Voti per importanza dei messaggi : 24
Data d'iscrizione : 21.02.11

Visualizza il profilo

Torna in alto Andare in basso

Re: Test per PostGres SQL

Messaggio  Cervino il Ven 22 Mar 2013 - 13:40

draleo83 ha scritto:Quanto da voi affermato è sicuramente valido.Ma nel mio file l'unico costrutto un pò complicato (si fa per dire)è la seguente string (che concatena cognome,nome,età). Forse è questa a non essere accettata ? Per il resto non vi sono funzioni o altre cose complesse


SELECT
String (
p.cognome,' ', p.nome,


IF p.decesso is null THEN
(days(p.nascita,'2013/01/01')/365)

ELSE (days(p.nascita,p.decesso)/365)


ENDIF


) as nome


FROM pazienti p

Due osservazioni : con IF .... la query non funziona ma basta usare CASE

poi la funzione STRING non è presente in PostgreSQL ( varie sono le alternative : TO_CHAR , .... )

La seguente query estrae Tutti i Pazienti Presenti nel database PostgreSQL ( revocati, deceduti , altro, libero-professionale, ... ) con uno spazio che separa cognome, nome ed eta :

SELECT p.cognome || ' ' || nome || ' '|| Case When p.decesso Is Null Then Days( p.nascita,'2013/01/01')/365 Else Days( p.nascita, p.decesso)*24/8766 End :: text
As nome
FROM pazienti p
Order By 1



in alternativa si puo' usare ( ma la prima è piu' chiara in caso di implementazione da parte di Terzi ) :

SELECT p.cognome || ' ' || nome || ' '|| Case When p.decesso Is Null Then Days( p.nascita,'2013/01/01')/365 Else Days( p.nascita, p.decesso)*24/8766 End
As nome
FROM pazienti p
Order By 1


Ti saluto , Sergio

Cervino
Membro Junior
Membro Junior

Messaggi : 219
Punti : 2963
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 63
Località : Orzivecchi (BS)

Visualizza il profilo

Torna in alto Andare in basso

Re: Test per PostGres SQL

Messaggio  Admin il Sab 23 Mar 2013 - 12:45

draleo83 ha scritto:
Admin ha scritto:Con "Days(p.nascita,'2013/01/01')/365" funziona e devo confermare che tutte le query già utilizzate per il passato che avessero una qualunque formula, non funzionano.
Caro Giuseppe, puoi farmi un favore ? (se nel tuo PC hai installato Excel). Nel mio sito
http://www.docdragoservice.com/index.php
nella sezione download ,nella cartella ASL PG, c'è il file Progetto RCV 2013, che serve per un nostro progetto aziendale. Alcuni colleghi, solo quei 4-5 che usano postgres, riferiscono che tale procedudura non estrae i dati inseriti dopo l'installazione di postgres . Puoi provarmelo con i tuoi dati per verificare se anche nel tuo caso , si verificasse questa anomalia?
grazie
draleo

Ho provato il tuo programma "Progetto RCV 2013" e devo dire che nel mio caso funziona perfettamente anche con postgreSQL. Approfitto per farti i miei complimenti per il programma. Per il resto concordo con Cervino, però a proposito di STRING noto che nel programma hai usato il comando:

SELECT DISTINCT pazienti.cognome +' '+pazienti.nome as nome,pazienti.codice_fiscale, pazienti.sesso,
pazienti.nascita,IF pazienti.decesso IS NULL THEN(days(pazienti.nascita,'2008/1/1')/365)ELSE (days(pazienti.nascita,pazienti.decesso)/365)ENDIF as eta,pazienti.comune_di_nascita
FROM DBA.pazienti, DBA.cart_problemi, DBA.nos_002


che funziona perfettamente.

_________________
L'Amministratore
Giuseppe Blasio
avatar
Admin
Admin
Admin

Messaggi : 521
Punti : 3386
Voti per importanza dei messaggi : 85
Data d'iscrizione : 20.02.11
Località : CASERTA

Visualizza il profilo http://utentimillewin.forumattivo.it

Torna in alto Andare in basso

Re: Test per PostGres SQL

Messaggio  drtulino il Sab 23 Mar 2013 - 22:44

Drago veramente forte, come al solito. Per curiosità l'ho voluta provare senza postgreSQL. L'unica cosa che segnalo è che nella colonna HDL, mi trascrive il valore del "Rapporto Col. Tot./HDL" che inserisco per tutti i pazienti con un campo nuovo che ho creato io da Milleutilità e non capisco perché, non avendo questo campo un codice.

_________________
Renato Tulino
MMG Monte Argentario (GR)
Facebook Millewin: https://www.facebook.com/groups/utentimillewin/
Twitter: @RenatoTulino
avatar
drtulino
Moderatore
Moderatore

Messaggi : 1804
Punti : 4904
Voti per importanza dei messaggi : 91
Data d'iscrizione : 20.02.11
Età : 54
Località : Monte Argentario (GR)

Visualizza il profilo https://www.facebook.com/groups/utentimillewin/

Torna in alto Andare in basso

Re: Test per PostGres SQL

Messaggio  pdiloren il Dom 24 Mar 2013 - 10:15

uso il nuovo database dal mese di aprile e le tue utilissime utilita' non funzionano



ho provato la query per l'asl di perugia e non funziona

pdiloren
Nuovo Membro
Nuovo Membro

Messaggi : 29
Punti : 2772
Voti per importanza dei messaggi : 1
Data d'iscrizione : 28.02.11

Visualizza il profilo

Torna in alto Andare in basso

Re: Test per PostGres SQL

Messaggio  draleo83 il Dom 24 Mar 2013 - 10:34

Admin ha scritto:
Ho provato il tuo programma "Progetto RCV 2013" e devo dire che nel mio caso funziona perfettamente anche con postgreSQL. Approfitto per farti i miei complimenti per il programma. Per il resto concordo con Cervino, però a proposito di STRING noto che nel programma hai usato il comando:

SELECT DISTINCT pazienti.cognome +' '+pazienti.nome as nome,pazienti.codice_fiscale, pazienti.sesso,
pazienti.nascita,IF pazienti.decesso IS NULL THEN(days(pazienti.nascita,'2008/1/1')/365)ELSE (days(pazienti.nascita,pazienti.decesso)/365)ENDIF as eta,pazienti.comune_di_nascita
FROM DBA.pazienti, DBA.cart_problemi, DBA.nos_002


che funziona perfettamente.
Ieri ho fatto un pò di prove con il PC di un collega contenente Postgres. Purtoppo i risultati sono negativi, nel senso che il programma in questione estrae correttamente SOLO i dati inseriti anteriormente all'installazione di Post gres. Di quelli inseriti successivamente neanche l'ombra. E questo è facilmente spiegabile:utilizzando un programma esterno (excel) La connessione ODBC del mio programma continuava a puntare al vecchio DataBase ( mille oppure Mille7 nel caso dei 64 bit), che continua ad esistere, e quindi venivano estratti solo i vecchi dati. Per utilizzare post gres bisogna invece utilizzare un'altra stringa di connessione (milleps con PC a 32 bit). Cambiata la stringa di connessione, i dati sono arrivati normalmente, ma sono cominciati gli errori di sintassi, segnalati da Giuseppe e Cervino. Delle circa 30 semplicissime query presenti nel file ,quasi tutte presentavano errori di sintassi. Ed è stato estremente faticante correggerle tutte in 12 ore (il termine ultimo per presentare alla ASL il lavoro scade infatti il 30/03/2013). Mi dava errore anche con
SELECT DISTINCT pazienti.cognome +' '+pazienti.nome as nome ecc ecc (l'operatore + non viene accettato, almeno nel PC da me utilizzato)
Ed anche con String(pazienti.cognome,' ',pazienti.nome) si verifica errore di sintassi
Comunque è andata bene.
grazie
draleo
avatar
draleo83
Membro Junior
Membro Junior

Messaggi : 217
Punti : 3010
Voti per importanza dei messaggi : 24
Data d'iscrizione : 21.02.11

Visualizza il profilo

Torna in alto Andare in basso

Re: Test per PostGres SQL

Messaggio  draleo83 il Dom 24 Mar 2013 - 10:46

drtulino ha scritto:Drago veramente forte, come al solito. Per curiosità l'ho voluta provare senza postgreSQL. L'unica cosa che segnalo è che nella colonna HDL, mi trascrive il valore del "Rapporto Col. Tot./HDL" che inserisco per tutti i pazienti con un campo nuovo che ho creato io da Milleutilità e non capisco perché, non avendo questo campo un codice.
Ciao Renato
per estrrre l'HDL nel mio file non posso utilizzare il suo codice -perchè il dizionario Umbria degli accertamente è diverso da quello nazionale-, e quindi sono costretto ad utilizzare il nome
where a.ac_des LIKE '%HDL%'
di conseguenza vengono estratti tutti gli accertamente contenente il termine HDL
draleo
avatar
draleo83
Membro Junior
Membro Junior

Messaggi : 217
Punti : 3010
Voti per importanza dei messaggi : 24
Data d'iscrizione : 21.02.11

Visualizza il profilo

Torna in alto Andare in basso

Re: Test per PostGres SQL

Messaggio  draleo83 il Dom 24 Mar 2013 - 11:30

pdiloren ha scritto:uso il nuovo database dal mese di aprile e le tue utilissime utilita' non funzionano

ho provato la query per l'asl di perugia e non funziona
Per adattare tutti i miei programmi a PostGres, occorre quest'ultimo. Ma io al momento non l'ho e quindi non posso procedere. D'altra parte, nelle prove effettuate ieri su un PC prestatomi, non mi è sembrato di vedere grandi miglioramenti di PostGres rispetto al vecchio . Anzi...sarà solo una prima impressione... ma mi sembra addirittura più lento ed imballato. Non è che hanno cambiato sistema perchè con PostGres non devono più pagare le royalties per il suo utilizzo ?
draleo
avatar
draleo83
Membro Junior
Membro Junior

Messaggi : 217
Punti : 3010
Voti per importanza dei messaggi : 24
Data d'iscrizione : 21.02.11

Visualizza il profilo

Torna in alto Andare in basso

Test per PostGres SQL

Messaggio  fabgrig1 il Sab 4 Mag 2013 - 11:47

draleo83 ha scritto:
pdiloren ha scritto:uso il nuovo database dal mese di aprile e le tue utilissime utilita' non funzionano

ho provato la query per l'asl di perugia e non funziona
Per adattare tutti i miei programmi a PostGres, occorre quest'ultimo. Ma io al momento non l'ho e quindi non posso procedere. D'altra parte, nelle prove effettuate ieri su un PC prestatomi, non mi è sembrato di vedere grandi miglioramenti di PostGres rispetto al vecchio . Anzi...sarà solo una prima impressione... ma mi sembra addirittura più lento ed imballato. Non è che hanno cambiato sistema perchè con PostGres non devono più pagare le royalties per il suo utilizzo ?
draleo

Scusate se intervengo non da tecnico di querry ma solo da curioso,siccome nella mia medicina di gruppo abbiamo deciso di passare al postgres,mi sembra di capire che le vecchie querry non funzionino ,ma ci sara' una qualche possibilita' di adattarle
oppure di costruirne di nuove per il postgres? non si potranno utilizzare nemmeno tutti i certificati e quant'altro elaborati da Arduino e colleghi della mailing list ?.

Grazie Fabrizio Grigolini Toscana

fabgrig1
Membro Junior
Membro Junior

Messaggi : 152
Punti : 2956
Voti per importanza dei messaggi : 1
Data d'iscrizione : 21.02.11

Visualizza il profilo

Torna in alto Andare in basso

Re: Test per PostGres SQL

Messaggio  Contenuto sponsorizzato


Contenuto sponsorizzato


Torna in alto Andare in basso

Torna in alto

- Argomenti simili

 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum