modifica query in utilizzatori di postgresql
3 partecipanti
modifica query in utilizzatori di postgresql
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
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
mario shirt- Membro Junior
- Messaggi : 254
Punti : 5391
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 69
Re: modifica query in utilizzatori di postgresql
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…
Re: modifica query in utilizzatori di postgresql
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 .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
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
- Messaggi : 245
Punti : 5283
Voti per importanza dei messaggi : 22
Data d'iscrizione : 03.03.11
Età : 70
Località : Orzivecchi (BS)
Argomenti simili
» ESTRAZIONE RCV - MODIFICA VECCHIA QUERY SYBASE
» quesito per i colleghi veneti utilizzatori dell'add on Doge
» Sybase Vs PostgreSQL
» postgresql backup
» Passaggio a PostgreSQL
» quesito per i colleghi veneti utilizzatori dell'add on Doge
» Sybase Vs PostgreSQL
» postgresql backup
» Passaggio a PostgreSQL
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.