estrazione fumatori admin
3 partecipanti
Pagina 1 di 1
estrazione fumatori admin
salve ho ritrovato questa query di admin sui fumatori
Select distinct p.cognome, p.nome, p.nascita, Years(p.nascita, today()) eta, p.sesso, a.ac_val valore_fumo,
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(31)) Tipo_fumatore
FROM pazienti p , cart_accert a, nos_002 n
Where p.codice = a.codice And a.codice=n.codice
AND a.ac_des like 'FUMO'
AND p.decesso is null
AND( n.Pa_Drevoca is null OR n.Pa_Drevoca>TODAY())
Order by 6,1,2
Come mai su 1540 assistiti su cui lavora mi estrae 1700 dati fumo senza nessun paziente non fumatore???
Mario
Select distinct p.cognome, p.nome, p.nascita, Years(p.nascita, today()) eta, p.sesso, a.ac_val valore_fumo,
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(31)) Tipo_fumatore
FROM pazienti p , cart_accert a, nos_002 n
Where p.codice = a.codice And a.codice=n.codice
AND a.ac_des like 'FUMO'
AND p.decesso is null
AND( n.Pa_Drevoca is null OR n.Pa_Drevoca>TODAY())
Order by 6,1,2
Come mai su 1540 assistiti su cui lavora mi estrae 1700 dati fumo senza nessun paziente non fumatore???
Mario
mario shirt- Membro Junior
- Messaggi : 254
Punti : 5390
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 69
Re: estrazione fumatori admin
mario shirt ha scritto:salve ho ritrovato questa query di admin sui fumatori
Select distinct p.cognome, p.nome, p.nascita, Years(p.nascita, today()) eta, p.sesso, a.ac_val valore_fumo,
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(31)) Tipo_fumatore
FROM pazienti p , cart_accert a, nos_002 n
Where p.codice = a.codice And a.codice=n.codice
AND a.ac_des like 'FUMO'
AND p.decesso is null
AND( n.Pa_Drevoca is null OR n.Pa_Drevoca>TODAY())
Order by 6,1,2
Come mai su 1540 assistiti su cui lavora mi estrae 1700 dati fumo senza nessun paziente non fumatore???
Mario
I non fumatori sono indicati come:
'mai fumato e mai fumerà'
'mai fumato'
'ex fumatore da oltre 1 anno'
'ex fumatore'
'ex forte fumatore da oltre 10 anni'
'ex forte fumatore da oltre 1 anno'
'ex forte fumatore'
Naturalmente vengono estratti se i dati sono stati inseriti.
Comunque per fare in modo che venga estratto solo il dato più recente con la relativa data, suggerirei queste modifiche:
Select distinct p.cognome, p.nome, p.nascita, Years(p.nascita, today()) eta, p.sesso,
(Select max(a.data_open) FROM cart_accert a WHERE a.codice=p.codice AND a.ac_code like '2832' and not exists (select b.codice from cart_accert b where a.codice = b.codice and b.ac_code Like '2832' and (b.data_open>a.data_open or (b.data_open=a.data_open and b.rowid>a.rowid)) and b.ac_val is not null)) D_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(35))
FROM cart_accert a WHERE a.codice=p.codice AND a.ac_code like '2832' and a.data_open = D_Fumo) Abitudine_Fumo
FROM pazienti p, cart_accert a , nos_002 n
Where p.codice = n.codice AND a.codice=p.codice
AND a.ac_des like 'FUMO'
AND p.decesso is null
AND( n.Pa_Drevoca is null OR n.Pa_Drevoca>TODAY())
AND n.pa_medi like '%' /* <<Inserire eventuale codice medicina di gruppo <<*/
Order by 7,1,2,3
Re: estrazione fumatori admin
L'estrazione mi da Zero. L'ho fatta con il codice medico per la medicina di gruppo.Admin ha scritto:mario shirt ha scritto:salve ho ritrovato questa query di admin sui fumatori
Select distinct p.cognome, p.nome, p.nascita, Years(p.nascita, today()) eta, p.sesso, a.ac_val valore_fumo,
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(31)) Tipo_fumatore
FROM pazienti p , cart_accert a, nos_002 n
Where p.codice = a.codice And a.codice=n.codice
AND a.ac_des like 'FUMO'
AND p.decesso is null
AND( n.Pa_Drevoca is null OR n.Pa_Drevoca>TODAY())
Order by 6,1,2
Come mai su 1540 assistiti su cui lavora mi estrae 1700 dati fumo senza nessun paziente non fumatore???
Mario
I non fumatori sono indicati come:
'mai fumato e mai fumerà'
'mai fumato'
'ex fumatore da oltre 1 anno'
'ex fumatore'
'ex forte fumatore da oltre 10 anni'
'ex forte fumatore da oltre 1 anno'
'ex forte fumatore'
Naturalmente vengono estratti se i dati sono stati inseriti.
Comunque per fare in modo che venga estratto solo il dato più recente con la relativa data, suggerirei queste modifiche:
Select distinct p.cognome, p.nome, p.nascita, Years(p.nascita, today()) eta, p.sesso,
(Select max(a.data_open) FROM cart_accert a WHERE a.codice=p.codice AND a.ac_code like '2832' and not exists (select b.codice from cart_accert b where a.codice = b.codice and b.ac_code Like '2832' and (b.data_open>a.data_open or (b.data_open=a.data_open and b.rowid>a.rowid)) and b.ac_val is not null)) D_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(35))
FROM cart_accert a WHERE a.codice=p.codice AND a.ac_code like '2832' and a.data_open = D_Fumo) Abitudine_Fumo
FROM pazienti p, cart_accert a , nos_002 n
Where p.codice = n.codice AND a.codice=p.codice
AND a.ac_des like 'FUMO'
AND p.decesso is null
AND( n.Pa_Drevoca is null OR n.Pa_Drevoca>TODAY())
AND n.pa_medi like '%' /* <<Inserire eventuale codice medicina di gruppo <<*/
Order by 7,1,2,3
Re: estrazione fumatori admin
Ciao Renato,
sicuro che il codice è esatto ? Fai queste prove:
- Se lasci % senza inserire il codice, vengono estratti i dati di tutti ?
- Prova a mettere solo la pima lettera del codice prima di %
- Cancella la riga AND n.pa_medi like '37%' /* <<Inserire eventuale codice medicina di gruppo <<*/
Che succede ?
sicuro che il codice è esatto ? Fai queste prove:
- Se lasci % senza inserire il codice, vengono estratti i dati di tutti ?
- Prova a mettere solo la pima lettera del codice prima di %
- Cancella la riga AND n.pa_medi like '37%' /* <<Inserire eventuale codice medicina di gruppo <<*/
Che succede ?
Re: estrazione fumatori admin
Admin ha scritto:Ciao Renato,
sicuro che il codice è esatto ? Fai queste prove:
- Se lasci % senza inserire il codice, vengono estratti i dati di tutti ?
- Prova a mettere solo la pima lettera del codice prima di %
- Cancella la riga AND n.pa_medi like '37%' /* <<Inserire eventuale codice medicina di gruppo <<*/
Che succede ?
Ciao Giuseppe,
l'estrazione anche senza la riga del codice Medico, mi viene Zero. Ho provato anche a mettere un periodo di tempo.
Re: estrazione fumatori admin
Scusa, e auguri anche di Pasquetta , intendevo dire che non ho nominativi che non hanno il dato fumo inserito (serve per fare la percentuale del dato fumo inserito) e il numero di righe estratto e' maggiore del numero dei pazienti su cui doveva lavorare. In sintesi ho 1700 righe con 1700 paz con dato fumo inserito nelle varie forme e nessun paz con dato fumo non inserito.Admin ha scritto:mario shirt ha scritto:salve ho ritrovato questa query di admin sui fumatori
Select distinct p.cognome, p.nome, p.nascita, Years(p.nascita, today()) eta, p.sesso, a.ac_val valore_fumo,
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(31)) Tipo_fumatore
FROM pazienti p , cart_accert a, nos_002 n
Where p.codice = a.codice And a.codice=n.codice
AND a.ac_des like 'FUMO'
AND p.decesso is null
AND( n.Pa_Drevoca is null OR n.Pa_Drevoca>TODAY())
Order by 6,1,2
Come mai su 1540 assistiti su cui lavora mi estrae 1700 dati fumo senza nessun paziente non fumatore???
Mario
I non fumatori sono indicati come:
'mai fumato e mai fumerà'
'mai fumato'
'ex fumatore da oltre 1 anno'
'ex fumatore'
'ex forte fumatore da oltre 10 anni'
'ex forte fumatore da oltre 1 anno'
'ex forte fumatore'
Naturalmente vengono estratti se i dati sono stati inseriti.
Mario
P.S. puoi dare una occhiata anche al precedente post Help query?
Ultima modifica di mario shirt il Lun 21 Apr 2014 - 11:35 - modificato 1 volta.
mario shirt- Membro Junior
- Messaggi : 254
Punti : 5390
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 69
Re: estrazione fumatori admin
A me funziona bene e mi da praticamente solo i paz con il dato fumo inserito.(quindi minore del totale dei paz indicati nel numero dei paz da esaminare). Solita domanda per avere anche i paz con il dato fumo non inserito nella stessa query?drtulino ha scritto:L'estrazione mi da Zero. L'ho fatta con il codice medico per la medicina di gruppo.Admin ha scritto:mario shirt ha scritto:salve ho ritrovato questa query di admin sui fumatori
Select distinct p.cognome, p.nome, p.nascita, Years(p.nascita, today()) eta, p.sesso, a.ac_val valore_fumo,
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(31)) Tipo_fumatore
FROM pazienti p , cart_accert a, nos_002 n
Where p.codice = a.codice And a.codice=n.codice
AND a.ac_des like 'FUMO'
AND p.decesso is null
AND( n.Pa_Drevoca is null OR n.Pa_Drevoca>TODAY())
Order by 6,1,2
Come mai su 1540 assistiti su cui lavora mi estrae 1700 dati fumo senza nessun paziente non fumatore???
Mario
I non fumatori sono indicati come:
'mai fumato e mai fumerà'
'mai fumato'
'ex fumatore da oltre 1 anno'
'ex fumatore'
'ex forte fumatore da oltre 10 anni'
'ex forte fumatore da oltre 1 anno'
'ex forte fumatore'
Naturalmente vengono estratti se i dati sono stati inseriti.
Comunque per fare in modo che venga estratto solo il dato più recente con la relativa data, suggerirei queste modifiche:
Select distinct p.cognome, p.nome, p.nascita, Years(p.nascita, today()) eta, p.sesso,
(Select max(a.data_open) FROM cart_accert a WHERE a.codice=p.codice AND a.ac_code like '2832' and not exists (select b.codice from cart_accert b where a.codice = b.codice and b.ac_code Like '2832' and (b.data_open>a.data_open or (b.data_open=a.data_open and b.rowid>a.rowid)) and b.ac_val is not null)) D_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(35))
FROM cart_accert a WHERE a.codice=p.codice AND a.ac_code like '2832' and a.data_open = D_Fumo) Abitudine_Fumo
FROM pazienti p, cart_accert a , nos_002 n
Where p.codice = n.codice AND a.codice=p.codice
AND a.ac_des like 'FUMO'
AND p.decesso is null
AND( n.Pa_Drevoca is null OR n.Pa_Drevoca>TODAY())
AND n.pa_medi like '%' /* <<Inserire eventuale codice medicina di gruppo <<*/
Order by 7,1,2,3
Mario
mario shirt- Membro Junior
- Messaggi : 254
Punti : 5390
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 69
Re: estrazione fumatori admin
Per estrarre tutti i pazienti basta cancellare la quintultima riga "AND a.ac_des like 'FUMO'
Re: estrazione fumatori admin
Admin ha scritto:Per estrarre tutti i pazienti basta cancellare la quintultima riga "AND a.ac_des like 'FUMO'
Strano tolta la riga mi da anche i deceduti e revovati senza dato fumo anche se c'e' la riga ** nul...
Mario
mario shirt- Membro Junior
- Messaggi : 254
Punti : 5390
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 69
Re: estrazione fumatori admin
mario shirt ha scritto:Admin ha scritto:Per estrarre tutti i pazienti basta cancellare la quintultima riga "AND a.ac_des like 'FUMO'
Strano tolta la riga mi da anche i deceduti e revovati senza dato fumo anche se c'e' la riga ** nul...
Mario
Per correttezza l'ultima parte deve essere:
FROM pazienti p, nos_002 n
Where p.codice = n.codice
AND p.decesso is null
AND( n.Pa_Drevoca is null OR n.Pa_Drevoca>TODAY())
AND n.pa_medi like '%' /* <<Inserire eventuale codice medicina di gruppo <<*/
Order by 7,1,2,3
Re: estrazione fumatori admin
fatto ed ora torna tutto eccetto che mi estrae 4 paz in piu' (uno sicuramente e' flaggato in libera professione)Admin ha scritto:mario shirt ha scritto:Admin ha scritto:Per estrarre tutti i pazienti basta cancellare la quintultima riga "AND a.ac_des like 'FUMO'
Strano tolta la riga mi da anche i deceduti e revovati senza dato fumo anche se c'e' la riga ** nul...
Mario
Per correttezza l'ultima parte deve essere:
FROM pazienti p, nos_002 n
Where p.codice = n.codice
AND p.decesso is null
AND( n.Pa_Drevoca is null OR n.Pa_Drevoca>TODAY())
AND n.pa_medi like '%' /* <<Inserire eventuale codice medicina di gruppo <<*/
Order by 7,1,2,3
Grazie
Mario
mario shirt- Membro Junior
- Messaggi : 254
Punti : 5390
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 69
Re: estrazione fumatori admin
trovato agiiunto And p.pa_convenzione = 'S'mario shirt ha scritto:
fatto ed ora torna tutto eccetto che mi estrae 4 paz in piu' (uno sicuramente e' flaggato in libera professione)
Grazie
Mario
Mario
mario shirt- Membro Junior
- Messaggi : 254
Punti : 5390
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 69
Argomenti simili
» EX FUMATORI
» pazienti fumatori
» estrazione farmaco
» estrazione un pò...particolare
» Estrazione BMI
» pazienti fumatori
» estrazione farmaco
» estrazione un pò...particolare
» Estrazione BMI
Pagina 1 di 1
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.