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

modifica query in utilizzatori di postgresql

Andare in basso

modifica query in utilizzatori di postgresql

Messaggio  mario shirt il Lun 19 Mag 2014 - 13:13

Le ottime query che admin e colleghi esperti postano non sono funzionanti nei millennium dei colleghi che usano postgresql.
Ci sono banali cambiamenti da fare ? o i comandi sono totalmente diversi?

Per esempio la query di un post precedente su fumatori lanciata da un mio collega gli da risultato 0 anche se la tabella e' presente.

Buona settimana

Mario
avatar
mario shirt
Membro Junior
Membro Junior

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

Visualizza il profilo

Torna in alto Andare in basso

Re: modifica query in utilizzatori di postgresql

Messaggio  Lucio Mignone il Mar 20 Mag 2014 - 16:29

mario shirt ha scritto:Le ottime query che admin e colleghi esperti postano non sono funzionanti nei millennium dei colleghi che usano postgresql.
Ci sono banali cambiamenti da fare ? o i comandi sono totalmente diversi?

Per esempio la query di un post precedente su fumatori lanciata da un mio collega gli da risultato 0 anche se la tabella e' presente.

Buona settimana

Mario

Purtroppo i nomi di alcune tabelle sono differenti in postgres e vanno modificati per far funzionare le query.
In ogni caso ho capito che utilizzare postgres in postazione singola non porta a sostanziali vantaggi, mentre per chi utilizza un server locale i vantaggi, in termini di velocità del programma, sono apprezzabili. Non usando postgres, quindi, non mi sono ancora imbattuto in questo problema, ho solo dato una sbirciatina la nuovo database…
avatar
Lucio Mignone
Membro Senior
Membro Senior

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

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

Torna in alto Andare in basso

Re: modifica query in utilizzatori di postgresql

Messaggio  Cervino il Mar 20 Mag 2014 - 23:12

mario shirt ha scritto:Le ottime query che admin e colleghi esperti postano non sono funzionanti nei millennium dei colleghi che usano postgresql.
Ci sono banali cambiamenti da fare ? o i comandi sono totalmente diversi?

Per esempio la query di un post precedente su fumatori lanciata da un mio collega gli da risultato 0 anche se la tabella e' presente.

Buona settimana

Mario
Per adattare a PostgreSQL la query di Admin sul Fumo , sono necessarie due modifiche come indicato in MU ( in :    Years(p.nascita, today()) eta   e   and a.data_open = D_Fumo ) in quanto non è possibile utilizzare link ad altre subquery o campi nel corpo della query ; inoltre alcune Funzioni sono diverse : date e formattazione in primis .


Select  Distinct  Cast( p.cognome As char(16)) ,  p.nome ,  p.nascita ,  
  Days( p.nascita , Today())*24/8766  As  eta ,  p.sesso , 
(Select  Max( a.data_open)  From  cart_accert a  Where  a.codice = p.codice  And  a.ac_code Like '2832'  And  a.ac_val  Is Not Null  And Not Exists ( Select  a1.codice  From  cart_accert a1  Where  a1.codice = a.codice  And  a1.ac_code Like '2832'  And ( a1.data_open > a.data_open  Or ( a1.data_open = a.data_open  And a1.rowid > a.rowid))  And  a1.ac_val  Is Not Null ))
           _Fumo_d_ ,
(Select   Cast( Case  a.ac_val
When  'O'  Then ' Fumatore Occasionale'
When  'V'  Then ' Fumatore Passivo'
When  '1'  Then ' meno di 10 sigarette al giorno'
When  '2'  Then ' tra 10 e 20 sigarette al giorno'
When  '3'  Then ' oltre 20 sigarette al giorno'
When  'X'  Then ' Mai Fumato e mai fumerà'
When  'N'  Then ' Mai Fumato'
When  'E'  Then ' Ex fumatore da oltre 1 anno'
When  'M'  Then ' Ex fumatore'
When  'F'  Then ' Ex forte fumatore da oltre 10 anni'
When  'Z'  Then ' Ex forte fumatore da oltre 1 anno'
When  'U'  Then ' Ex forte fumatore'
When  'P'  Then ' Fumatore  di  Pipa'
When  'S'  Then ' Fumatore  di  Sigaro'  End  As Char(45))
From  cart_accert a  Where  a.codice = p.codice  And  a.ac_code  Like  '2832'  And  a.ac_val  Is Not Null  Order By  a.data_open  Desc  Limit 1 ) 
           _Abitudine_Fumo_ ,
(Select   Cast( Case  a.ac_val
When  'O'  Then ' Fumatore Occasionale'
When  'V'  Then ' Fumatore Passivo'
When  '1'  Then ' meno di 10 sigarette al giorno'
When  '2'  Then ' tra 10 e 20 sigarette al giorno'
When  '3'  Then ' oltre 20 sigarette al giorno'
When  'X'  Then ' Mai Fumato e mai fumerà'
When  'N'  Then ' Mai Fumato'
When  'E'  Then ' Ex fumatore da oltre 1 anno'
When  'M'  Then ' Ex fumatore'
When  'F'  Then ' Ex forte fumatore da oltre 10 anni'
When  'Z'  Then ' Ex forte fumatore da oltre 1 anno'
When  'U'  Then ' Ex forte fumatore'
When  'P'  Then ' Fumatore  di  Pipa'
When  'S'  Then ' Fumatore  di  Sigaro'  End  As Char(45))
From  cart_accert a  Where  a.codice = p.codice  And  a.ac_code Like '2832'  And  a.ac_val  Is Not Null  And Not Exists ( Select  a1.codice  From  cart_accert a1  Where  a1.codice = a.codice  And  a1.ac_code Like '2832'  And ( a1.data_open > a.data_open  Or ( a1.data_open = a.data_open  And a1.rowid > a.rowid))  And  a1.ac_val  Is Not Null ))
           _Abitudine_Fumo_v_ ,
Today() As data_q
FROM    pazienti p  Left   Join nos_002 n  On  p.codice = n.codice 
Where  n.pa_medi  Like  '%'      /* Inserire eventuale codice medicina di gruppo */
 And  p.pa_convenzione = 'S'                     And  Year( nascita)  Between  1900 And 2014
 And   (n.pa_drevoca Is Null Or n.pa_drevoca > Today()  Or  (n.pa_drevoca Between Today()-365 
  And Today()  And  motivo_revoca ='S' ))   And   p.decesso Is Null
Order By  7 , 1 , 2 , 3


a titolo di esempio, il dato Fumo è estratto con due diverse subquery ( l' uso del campo rowid è comunque preferibile  ).


Saluti ,  Sergio  ,     Orzivecchi  (BS)

Cervino
Membro Junior
Membro Junior

Messaggi : 221
Punti : 3025
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 64
Località : Orzivecchi (BS)

Visualizza il profilo

Torna in alto Andare in basso

Re: modifica query in utilizzatori di postgresql

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