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
****************************************************

aiuto su integrazione estrazione sql

Andare in basso

aiuto su integrazione estrazione sql

Messaggio  mario shirt il Mer 30 Mag 2012 - 18:20

Salve a tutti gli esperti:un progetto della asl consisteva nel cercare il 40% di pazienti tra 18 e 60 anni idonei o no a donare il sangue. ho ricevuto una stringa dalla asl x estrarre tutti i pazienti , mi sono accorto che anche se prima di lanciare la query si biffava di escludere i deceduti ed i revocati o si impostava solo un periodo temporale la query andava per i cavoli suoi. Questo comporta che la lista dei paz su cui calcolare la percentuale da raggiungere e' molto piu' alta di quella effettiva. ho provato a correggerla inserendo una stringa che accludo, ma mi da errore. Problemi di viste?

[COMMENTO]
[SQL]
SELECT (year(today())-year(p.datanasc)) eta, p.sesso

, ( SELECT max(a.data_open) FROM cart_accert a WHERE a.codice = p.codice AND ac_code = '4279' AND ac_val > ''
AND not exists (SELECT x.codice from cart_accert x WHERE x.codice = p.codice AND x.ac_code = a.ac_code and x.ac_val > '' AND string(x.data_open, x.time_last) > string(a.data_open, a.time_last) ) ) D_Test_donazioni

, ( SELECT max(a.ac_val) FROM cart_accert a WHERE a.codice = p.codice AND ac_code = '4279' AND ac_val > ''
AND not exists (SELECT x.codice from cart_accert x WHERE x.codice = p.codice AND x.ac_code = a.ac_code and x.ac_val > '' AND string(x.data_open, x.time_last) > string(a.data_open, a.time_last) ) )Test_donazioni

, p.codfiscale, p. medico

FROM V_PAZIENTI p

where eta>17 and eta<61


ho cercato di inserire in vari punti

AND (n.pa_drevoca IS NULL or n.pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND p.pa_convenzione='S'

ma mi da errore per problemi di viste? qualcuno mi puo' spiegare l'errore che faccio?
GrAZIE
Mario
mario shirt
mario shirt
Membro Junior
Membro Junior

Messaggi : 246
Punti : 3307
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 63

Visualizza il profilo

Torna in alto Andare in basso

Re: aiuto su integrazione estrazione sql

Messaggio  Lucio Mignone il Mer 30 Mag 2012 - 19:20

Ho corretto gli errori più grossolani, Non ho avuto modo di verificare tutta la query. Devo controllare a cosa corrisponde ac_code = '4279' poiché per quello che ne so con quel codice potrebbe non funzionare mai in quanto non estrae l'accertamento voluto. Si tratta per caso di un codice legato ad un accertamento personalizzato?


SELECT p.nome, p.cognome, (year(today())-year(p.datanasc)) eta, p.sesso, p.codfiscale, p. medico,
( SELECT max(a.data_open) FROM cart_accert a WHERE a.codice = p.codice AND ac_code = '4279' AND ac_val > ''
AND not exists (SELECT x.codice from cart_accert x WHERE x.codice = p.codice AND x.ac_code = a.ac_code and x.ac_val > '' AND string(x.data_open, x.time_last) > string(a.data_open, a.time_last) ) ) D_Test_donazioni,
( SELECT max(a.ac_val) FROM cart_accert a WHERE a.codice = p.codice AND ac_code = '4279' AND ac_val > ''
AND not exists (SELECT x.codice from cart_accert x WHERE x.codice = p.codice AND x.ac_code = a.ac_code and x.ac_val > '' AND string(x.data_open, x.time_last) > string(a.data_open, a.time_last) ) )Test_donazioni

FROM V_PAZIENTI p,

where eta>17 and eta<61
AND (p.datarevoca IS NULL or p.datarevoca >TODAY()) AND (p.datadecess IS NULL)
AND p.convenzion='S'
Order by 1, 2, 3
Lucio Mignone
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3742
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 55
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: aiuto su integrazione estrazione sql

Messaggio  mario shirt il Mer 30 Mag 2012 - 21:03

Lucio Mignone ha scritto:Ho corretto gli errori più grossolani, Non ho avuto modo di verificare tutta la query. Devo controllare a cosa corrisponde ac_code = '4279' poiché per quello che ne so con quel codice potrebbe non funzionare mai in quanto non estrae l'accertamento voluto. Si tratta per caso di un codice legato ad un accertamento personalizzato?


SELECT p.nome, p.cognome, (year(today())-year(p.datanasc)) eta, p.sesso, p.codfiscale, p. medico,
( SELECT max(a.data_open) FROM cart_accert a WHERE a.codice = p.codice AND ac_code = '4279' AND ac_val > ''
AND not exists (SELECT x.codice from cart_accert x WHERE x.codice = p.codice AND x.ac_code = a.ac_code and x.ac_val > '' AND string(x.data_open, x.time_last) > string(a.data_open, a.time_last) ) ) D_Test_donazioni,
( SELECT max(a.ac_val) FROM cart_accert a WHERE a.codice = p.codice AND ac_code = '4279' AND ac_val > ''
AND not exists (SELECT x.codice from cart_accert x WHERE x.codice = p.codice AND x.ac_code = a.ac_code and x.ac_val > '' AND string(x.data_open, x.time_last) > string(a.data_open, a.time_last) ) )Test_donazioni

FROM V_PAZIENTI p,

where eta>17 and eta<61
AND (p.datarevoca IS NULL or p.datarevoca >TODAY()) AND (p.datadecess IS NULL)
AND p.convenzion='S'
Order by 1, 2, 3

4279 dovrebbe essere il codice dell'accertamento personalizzato x l'asl 11 "idoneita donazione sangue". La provo e ti dico.. Grazie

Mario
mario shirt
mario shirt
Membro Junior
Membro Junior

Messaggi : 246
Punti : 3307
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 63

Visualizza il profilo

Torna in alto Andare in basso

Re: aiuto su integrazione estrazione sql

Messaggio  mario shirt il Mer 30 Mag 2012 - 21:35

Ok va bene .. allora l'errore era una "a" in piu'? Rolling Eyes Rolling Eyes Rolling Eyes

Mario
mario shirt
mario shirt
Membro Junior
Membro Junior

Messaggi : 246
Punti : 3307
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 63

Visualizza il profilo

Torna in alto Andare in basso

Re: aiuto su integrazione estrazione sql

Messaggio  Lucio Mignone il Gio 31 Mag 2012 - 0:27

mario shirt ha scritto:Ok va bene .. allora l'errore era una "a" in piu'? Rolling Eyes Rolling Eyes Rolling Eyes

Mario

mancavano nome e cognome del paziente nella SELECT,

p.codfiscale, p. medico erano messi a caso nel mezzo della query (forse un errore di copia ed incolla?),

ed infine con le righe

AND (n.pa_drevoca IS NULL or n.pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND p.pa_convenzione='S'


andavi a cercare in alcune tabellle non dichiarate in FROM, mentre nel tuo caso è più semplice e lineare cercare solo nella vista v_pazienti.

Se ci dici come si chiama l'accertamento personalizzato è possibile modificare la query per renderla sicuramente funzionante, per la poca esperienza che ho con l'espressione ac_code = (forse è preferibile ac_code like ma lascio la parola ai maestri...) e quel codice interno dell'accertamento è possibile che in alcuni casi non ti estragga niente.
Lucio Mignone
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3742
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 55
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: aiuto su integrazione estrazione sql

Messaggio  mario shirt il Gio 31 Mag 2012 - 19:18

[quote="Lucio Mignone"]
mario shirt ha scritto:Ok va bene .. allora l'errore era una "a" in piu'? Rolling Eyes Rolling Eyes Rolling Eyes

Mario

mancavano nome e cognome del paziente nella SELECT,


veramente devono mancare... Smile per la privacy (li avevo aggiunti io per vedere chi erano)

p.codfiscale, p. medico erano messi a caso nel mezzo della query (forse un errore di copia ed incolla?),


sono le uniche 2 cose che vuole l'asl (forse il cod. fiscale lo tolgo sempre per privacy!!)
ed infine con le righe

AND (n.pa_drevoca IS NULL or n.pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND p.pa_convenzione='S'


andavi a cercare in alcune tabellle non dichiarate in FROM, mentre nel tuo caso è più semplice e lineare cercare solo nella vista v_pazienti.

Se ci dici come si chiama l'accertamento personalizzato è possibile modificare la query per renderla sicuramente funzionante, per la poca esperienza che ho con l'espressione ac_code = (forse è preferibile ac_code like ma lascio la parola ai maestri...) e quel codice interno dell'accertamento è possibile che in alcuni casi non ti estragga niente.

L'accertamento e' idoneita' donazione (aggiunto nella lista per i medici asl !!, ma lo puoi scaricare anche tu dal sito del Millennium)
La query funziona bene..

Grazie

Mario
mario shirt
mario shirt
Membro Junior
Membro Junior

Messaggi : 246
Punti : 3307
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 63

Visualizza il profilo

Torna in alto Andare in basso

Re: aiuto su integrazione estrazione sql

Messaggio  Lucio Mignone il Gio 31 Mag 2012 - 20:20

mario shirt ha scritto:

L'accertamento e' idoneita' donazione (aggiunto nella lista per i medici asl !!, ma lo puoi scaricare anche tu dal sito del Millennium)
La query funziona bene..

Grazie

Mario

Se la query funziona lasciamola così... squadra che vince non si cambia!
Lucio Mignone
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3742
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 55
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: aiuto su integrazione estrazione sql

Messaggio  Contenuto sponsorizzato


Contenuto sponsorizzato


Torna in alto Andare in basso

Torna in alto


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