Test per PostGres SQL
+2
Admin
draleo83
6 partecipanti
Test per PostGres SQL
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
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
draleo83- Membro Junior
- Messaggi : 225
Punti : 5306
Voti per importanza dei messaggi : 25
Data d'iscrizione : 21.02.11
Re: Test per PostGres SQL
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.
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.
Re: Test per PostGres SQL
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
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.
draleo83- Membro Junior
- Messaggi : 225
Punti : 5306
Voti per importanza dei messaggi : 25
Data d'iscrizione : 21.02.11
Re: Test per PostGres SQL
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.
Re: Test per PostGres SQL
Caro Giuseppe, puoi farmi un favore ? (se nel tuo PC hai installato Excel). Nel mio sitoAdmin 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.
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
draleo83- Membro Junior
- Messaggi : 225
Punti : 5306
Voti per importanza dei messaggi : 25
Data d'iscrizione : 21.02.11
Re: Test per PostGres SQL
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
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
- Messaggi : 245
Punti : 5280
Voti per importanza dei messaggi : 22
Data d'iscrizione : 03.03.11
Età : 70
Località : Orzivecchi (BS)
Re: Test per PostGres SQL
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
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
draleo83- Membro Junior
- Messaggi : 225
Punti : 5306
Voti per importanza dei messaggi : 25
Data d'iscrizione : 21.02.11
Re: Test per PostGres SQL
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
- Messaggi : 245
Punti : 5280
Voti per importanza dei messaggi : 22
Data d'iscrizione : 03.03.11
Età : 70
Località : Orzivecchi (BS)
Re: Test per PostGres SQL
draleo83 ha scritto:Caro Giuseppe, puoi farmi un favore ? (se nel tuo PC hai installato Excel). Nel mio sitoAdmin 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.
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.
Re: Test per PostGres SQL
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.
Re: Test per PostGres SQL
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
ho provato la query per l'asl di perugia e non funziona
pdiloren- Nuovo Membro
- Messaggi : 29
Punti : 5057
Voti per importanza dei messaggi : 1
Data d'iscrizione : 28.02.11
Re: Test per PostGres SQL
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 conAdmin 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.
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
draleo83- Membro Junior
- Messaggi : 225
Punti : 5306
Voti per importanza dei messaggi : 25
Data d'iscrizione : 21.02.11
Re: Test per PostGres SQL
Ciao Renatodrtulino 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.
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
draleo83- Membro Junior
- Messaggi : 225
Punti : 5306
Voti per importanza dei messaggi : 25
Data d'iscrizione : 21.02.11
Re: Test per PostGres SQL
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 ?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
draleo
draleo83- Membro Junior
- Messaggi : 225
Punti : 5306
Voti per importanza dei messaggi : 25
Data d'iscrizione : 21.02.11
Test per PostGres SQL
draleo83 ha scritto: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 ?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
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
- Messaggi : 152
Punti : 5241
Voti per importanza dei messaggi : 1
Data d'iscrizione : 21.02.11
Argomenti simili
» sybase o postgres era owidctlpar
» rubeo test
» Test HPV in Toscana
» postgres database
» postgres e progetti xde
» rubeo test
» Test HPV in Toscana
» postgres database
» postgres e progetti xde
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.