accessi giorni particolari
2 partecipanti
accessi giorni particolari
SELECT cognome+' '+ nome Nome, datanasc as D_nascita,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Monday') Lunedi,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Tuesday') Martedi,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Wednesday') Mercoledi,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Thursday') Giovedi,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Friday') Venerdi,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Saturday') Sabato,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Sunday') Domenica,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice) TOTALE
FROM v_contatti p
UNION
Select ' __ TOTALE ACCESSI__' , CAST('' as date),
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Monday') Lunedi,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Tuesday') Martedi,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Wednesday') Mercoledi,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Thursday') Giovedi,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Friday') Venerdi,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Saturday') Sabato,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Sunday') Domenica,
(SELECT COUNT (data_contatto) FROM v_contatti c) TOTALE
ORDER BY 1,2
BUONA SERA CHI MI SA DIRE PERCHE' QUESTA QUERY NON FUNZIONA IN POSTGRES? GRAZIE
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Monday') Lunedi,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Tuesday') Martedi,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Wednesday') Mercoledi,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Thursday') Giovedi,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Friday') Venerdi,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Saturday') Sabato,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Sunday') Domenica,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice) TOTALE
FROM v_contatti p
UNION
Select ' __ TOTALE ACCESSI__' , CAST('' as date),
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Monday') Lunedi,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Tuesday') Martedi,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Wednesday') Mercoledi,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Thursday') Giovedi,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Friday') Venerdi,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Saturday') Sabato,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Sunday') Domenica,
(SELECT COUNT (data_contatto) FROM v_contatti c) TOTALE
ORDER BY 1,2
BUONA SERA CHI MI SA DIRE PERCHE' QUESTA QUERY NON FUNZIONA IN POSTGRES? GRAZIE
nanci giacinto- Membro Junior
- Messaggi : 128
Punti : 5208
Voti per importanza dei messaggi : -1
Data d'iscrizione : 02.03.11
Re: accessi giorni particolari
nanci giacinto ha scritto:SELECT cognome+' '+ nome Nome, datanasc as D_nascita,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Monday') Lunedi,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Tuesday') Martedi,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Wednesday') Mercoledi,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Thursday') Giovedi,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Friday') Venerdi,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Saturday') Sabato,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice AND DAYNAME(data_contatto) ='Sunday') Domenica,
(SELECT count(data_contatto) FROM v_contatti c WHERE c.codice=p.codice) TOTALE
FROM v_contatti p
UNION
Select ' __ TOTALE ACCESSI__' , CAST('' as date),
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Monday') Lunedi,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Tuesday') Martedi,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Wednesday') Mercoledi,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Thursday') Giovedi,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Friday') Venerdi,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Saturday') Sabato,
(SELECT COUNT (data_contatto) FROM v_contatti c WHERE DAYNAME(data_contatto) ='Sunday') Domenica,
(SELECT COUNT (data_contatto) FROM v_contatti c) TOTALE
ORDER BY 1,2
BUONA SERA CHI MI SA DIRE PERCHE' QUESTA QUERY NON FUNZIONA IN POSTGRES? GRAZIE
Varie sono le criticità , nel mio MU ( v 13.38.56 del 25-11-2011 ) sono riuscito a far eseguire la query :
SELECT cognome || ' ' || nome As Nome , datanasc As nascita ,
( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice
And DAY( data_contatto) = 1 ) As Lunedi ,
( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice
And DAY( data_contatto) = 2 ) As Martedi ,
( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice
And DAY( data_contatto) = 3 ) As Mercoledi,
( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice
And DAY( data_contatto) = 4 ) As Giovedi,
( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice
And DAY( data_contatto) = 5 ) As Venerdi,
( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice
And DAY( data_contatto) = 6 ) As Sabato,
( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice
And DAY( data_contatto) = 7 ) As Domenica,
( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice) As Totale
FROM v_pazienti p
WHERE ( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice) >0
UNION
Select ' Totale Accessi ' , Today() ,
( Select Count( v.data_open) From cart_visite v Where DAY( v.data_open) = 1 ) As Lunedi ,
( Select Count( v.data_open) From cart_visite v Where DAY( v.data_open) = 2 ) As Martedi ,
( Select Count( v.data_open) From cart_visite v Where DAY( v.data_open) = 3 ) As Mercoledi ,
( Select Count( v.data_open) From cart_visite v Where DAY( v.data_open) = 4 ) As Giovedi ,
( Select Count( v.data_open) From cart_visite v Where DAY( v.data_open) = 5 ) As Venerdi ,
( Select Count( v.data_open) From cart_visite v Where DAY( v.data_open) = 6 ) As Sabato ,
( Select Count( v.data_open) From cart_visite v Where DAY( v.data_open) = 7 ) As Domenica ,
( Select Count (v.data_open) From cart_visite v) As Totale
ORDER BY 1 , 2
Resta da verificare se il set estratto sia affidabile ( verifica non semplice da fare ) .
Saluti 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)
accessi giorni particolari
grazie per l'aiuto ma la estrazione della query (che funziona) mi da una quantità di accessi sabato e domenica di pari quantità degli altri giorni della settimana. Ti allego un'altra query che in postgres non funziona e che estrae gli accessi totali e non per singolo assistito per ogni giorno della settimana.
Select cognome, nome,data_contatto as data, (CASE(DAYNAME(data_contatto))
WHEN 'Monday' THEN 'Lunedì'
WHEN 'Tuesday' THEN 'Martedì'
WHEN 'Wednesday' THEN 'Mercoledì'
WHEN 'Thursday' THEN 'Giovedì'
WHEN 'Friday' THEN 'Venerdì'
WHEN 'Saturday' THEN 'Sabato'
WHEN 'Sunday' THEN 'Domenica'
END) as giorno,
COUNT (tipo) totali
FROM V_contatti
GROUP BY data, cognome, nome
UNION
select '','',cast(''as date) ,' TOTALI', COUNT (tipo) totali
FROM V_contatti
Order By 1,2,3
--Where tipo<>'accesso per valutazione'--
Purtroppo delle centinaia di query già pronte con l'introduzione di postgres non funzionano più credo che millenium non tenendo conto di tutto questo e non provvedendo ad assistere noi utenti in questo passaggio di sistema abbia compiuto un grave abuso. Credo inoltre che dovrebbe esserci una modalità di "correzione" delle query dal passaggio da sysbase a postgres credo che dovremmo organizarci tipo class action a chiedere a millenium questo servizio perchè buttare nel cestino centinania di query che sono costate ore e ore di lavoro non sia proprio giusto.
Select cognome, nome,data_contatto as data, (CASE(DAYNAME(data_contatto))
WHEN 'Monday' THEN 'Lunedì'
WHEN 'Tuesday' THEN 'Martedì'
WHEN 'Wednesday' THEN 'Mercoledì'
WHEN 'Thursday' THEN 'Giovedì'
WHEN 'Friday' THEN 'Venerdì'
WHEN 'Saturday' THEN 'Sabato'
WHEN 'Sunday' THEN 'Domenica'
END) as giorno,
COUNT (tipo) totali
FROM V_contatti
GROUP BY data, cognome, nome
UNION
select '','',cast(''as date) ,' TOTALI', COUNT (tipo) totali
FROM V_contatti
Order By 1,2,3
--Where tipo<>'accesso per valutazione'--
Purtroppo delle centinaia di query già pronte con l'introduzione di postgres non funzionano più credo che millenium non tenendo conto di tutto questo e non provvedendo ad assistere noi utenti in questo passaggio di sistema abbia compiuto un grave abuso. Credo inoltre che dovrebbe esserci una modalità di "correzione" delle query dal passaggio da sysbase a postgres credo che dovremmo organizarci tipo class action a chiedere a millenium questo servizio perchè buttare nel cestino centinania di query che sono costate ore e ore di lavoro non sia proprio giusto.
nanci giacinto- Membro Junior
- Messaggi : 128
Punti : 5208
Voti per importanza dei messaggi : -1
Data d'iscrizione : 02.03.11
Re: accessi giorni particolari
purtroppo mi da errore in : UNION e poi Function DAYNAME(date) does not exists ...nanci giacinto ha scritto:grazie per l'aiuto ma la estrazione della query (che funziona) mi da una quantità di accessi sabato e domenica di pari quantità degli altri giorni della settimana. Ti allego un'altra query che in postgres non funziona e che estrae gli accessi totali e non per singolo assistito per ogni giorno della settimana.
Select cognome, nome,data_contatto as data, (CASE(DAYNAME(data_contatto))
WHEN 'Monday' THEN 'Lunedì'
WHEN 'Tuesday' THEN 'Martedì'
WHEN 'Wednesday' THEN 'Mercoledì'
WHEN 'Thursday' THEN 'Giovedì'
WHEN 'Friday' THEN 'Venerdì'
WHEN 'Saturday' THEN 'Sabato'
WHEN 'Sunday' THEN 'Domenica'
END) as giorno,
COUNT (tipo) totali
FROM V_contatti
GROUP BY data, cognome, nome
UNION
select '','',cast(''as date) ,' TOTALI', COUNT (tipo) totali
FROM V_contatti
Order By 1,2,3
--Where tipo<>'accesso per valutazione'--
Purtroppo delle centinaia di query già pronte con l'introduzione di postgres non funzionano più credo che millenium non tenendo conto di tutto questo e non provvedendo ad assistere noi utenti in questo passaggio di sistema abbia compiuto un grave abuso. Credo inoltre che dovrebbe esserci una modalità di "correzione" delle query dal passaggio da sysbase a postgres credo che dovremmo organizarci tipo class action a chiedere a millenium questo servizio perchè buttare nel cestino centinania di query che sono costate ore e ore di lavoro non sia proprio giusto.
Prova con ( la query è piu' omogenea ) :
SELECT cognome || ' ' || nome As Nome , datanasc As nascita ,
( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice
And DAY( data_contatto) = 1 ) As Lunedi ,
( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice
And DAY( data_contatto) = 2 ) As Martedi ,
( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice
And DAY( data_contatto) = 3 ) As Mercoledi,
( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice
And DAY( data_contatto) = 4 ) As Giovedi,
( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice
And DAY( data_contatto) = 5 ) As Venerdi,
( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice
And DAY( data_contatto) = 6 ) As Sabato,
( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice
And DAY( data_contatto) = 7 ) As Domenica,
( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice) As Totale
FROM v_pazienti p
WHERE ( Select Count( data_contatto) FROM v_contatti c WHERE c.codice = p.codice) >0
UNION
Select ' Totale Accessi ' , Today() ,
( Select Count( data_contatto) From v_contatti Where DAY( data_contatto) = 1 ) As Lunedi ,
( Select Count( data_contatto) From v_contatti Where DAY( data_contatto) = 2 ) As Martedi ,
( Select Count( data_contatto) From v_contatti Where DAY( data_contatto) = 3 ) As Mercoledi ,
( Select Count( data_contatto) From v_contatti Where DAY( data_contatto) = 4 ) As Giovedi ,
( Select Count( data_contatto) From v_contatti Where DAY( data_contatto) = 5 ) As Venerdi ,
( Select Count( data_contatto) From v_contatti Where DAY( data_contatto) = 6 ) As Sabato ,
( Select Count( data_contatto) From v_contatti Where DAY( data_contatto) = 7 ) As Domenica ,
( Select Count( data_contatto) From v_contatti ) As Totale
ORDER BY 1 , 2
Purtroppo dopo l' ultimo aggiornamento di W10 , mi compare errore in PostgreSQL 9.0 : necessaria Reinstallazione ma probabilmente non è piu' supportato
( ed i risultati delle query non sono piu' affidabili ) .
Ti saluto , Sergio
PS : la quantità di accessi apparente errata puo' forse dipendere dalle impostazioni generali del SO ( verificare se : in Pannello di Controllo --> Regione --> Data --> Impostazioni aggiuntive ( traduco dall' inglese ) --> primo giorno della settimana --> lunedi , ovviamente
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: accessi giorni particolari
Nelle query precedenti avevo utilizzata una funzione inadatta :
SELECT p.cognome || ' ' || p.nome As nome , p.datanasc As nascita ,
( Select Count( c.data_contatto) From v_contatti c Where c.codice = p.codice
And DoW( c.data_contatto) = 1 ) As Lunedi ,
( Select Count( c.data_contatto) From v_contatti c Where c.codice = p.codice
And DoW( c.data_contatto) = 2 ) As Martedi ,
( Select Count( c.data_contatto) From v_contatti c Where c.codice = p.codice
And DoW( c.data_contatto) = 3 ) As Mercoledi ,
( Select Count( c.data_contatto) From v_contatti c Where c.codice = p.codice
And DoW( c.data_contatto) = 4 ) As Giovedi ,
( Select Count( c.data_contatto) From v_contatti c Where c.codice = p.codice
And DoW( c.data_contatto) = 5 ) As Venerdi ,
( Select Count( c.data_contatto) From v_contatti c Where c.codice = p.codice
And DoW( c.data_contatto) = 6 ) As Sabato ,
( Select Count( c.data_contatto) From v_contatti c Where c.codice = p.codice
And DoW( c.data_contatto) = 0 ) As Domenica ,
( Select Count( c.data_contatto) FROM v_contatti c Where c.codice = p.codice) As Totale
FROM v_contatti p
UNION
Select ' Totale Accessi ' , Today() ,
( Select Count ( c.data_contatto) From v_contatti c Where DoW( c.data_contatto) = 1 ) As Lunedi ,
( Select Count ( c.data_contatto) From v_contatti c Where DoW( c.data_contatto) = 2 ) As Martedi ,
( Select Count ( c.data_contatto) From v_contatti c Where DoW( c.data_contatto) = 3 ) As Mercoledi ,
( Select Count ( c.data_contatto) From v_contatti c Where DoW( c.data_contatto) = 4 ) As Giovedi ,
( Select Count ( c.data_contatto) From v_contatti c Where DoW( c.data_contatto) = 5 ) As Venerdi ,
( Select Count ( c.data_contatto) From v_contatti c Where DoW( c.data_contatto) = 6 ) As Sabato ,
( Select Count ( c.data_contatto) From v_contatti c Where DoW( c.data_contatto) = 0 ) As Domenica ,
( Select Count ( c.data_contatto) From v_contatti c) As Totale
ORDER BY 1 , 2
Funzionerà ? , saluti , Sergio
SELECT p.cognome || ' ' || p.nome As nome , p.datanasc As nascita ,
( Select Count( c.data_contatto) From v_contatti c Where c.codice = p.codice
And DoW( c.data_contatto) = 1 ) As Lunedi ,
( Select Count( c.data_contatto) From v_contatti c Where c.codice = p.codice
And DoW( c.data_contatto) = 2 ) As Martedi ,
( Select Count( c.data_contatto) From v_contatti c Where c.codice = p.codice
And DoW( c.data_contatto) = 3 ) As Mercoledi ,
( Select Count( c.data_contatto) From v_contatti c Where c.codice = p.codice
And DoW( c.data_contatto) = 4 ) As Giovedi ,
( Select Count( c.data_contatto) From v_contatti c Where c.codice = p.codice
And DoW( c.data_contatto) = 5 ) As Venerdi ,
( Select Count( c.data_contatto) From v_contatti c Where c.codice = p.codice
And DoW( c.data_contatto) = 6 ) As Sabato ,
( Select Count( c.data_contatto) From v_contatti c Where c.codice = p.codice
And DoW( c.data_contatto) = 0 ) As Domenica ,
( Select Count( c.data_contatto) FROM v_contatti c Where c.codice = p.codice) As Totale
FROM v_contatti p
UNION
Select ' Totale Accessi ' , Today() ,
( Select Count ( c.data_contatto) From v_contatti c Where DoW( c.data_contatto) = 1 ) As Lunedi ,
( Select Count ( c.data_contatto) From v_contatti c Where DoW( c.data_contatto) = 2 ) As Martedi ,
( Select Count ( c.data_contatto) From v_contatti c Where DoW( c.data_contatto) = 3 ) As Mercoledi ,
( Select Count ( c.data_contatto) From v_contatti c Where DoW( c.data_contatto) = 4 ) As Giovedi ,
( Select Count ( c.data_contatto) From v_contatti c Where DoW( c.data_contatto) = 5 ) As Venerdi ,
( Select Count ( c.data_contatto) From v_contatti c Where DoW( c.data_contatto) = 6 ) As Sabato ,
( Select Count ( c.data_contatto) From v_contatti c Where DoW( c.data_contatto) = 0 ) As Domenica ,
( Select Count ( c.data_contatto) From v_contatti c) As Totale
ORDER BY 1 , 2
Funzionerà ? , saluti , 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)
accessi giorni particolari
buon pomeriggio perfetto funziona perfettamente
nanci giacinto- Membro Junior
- Messaggi : 128
Punti : 5208
Voti per importanza dei messaggi : -1
Data d'iscrizione : 02.03.11
Argomenti simili
» accessi giorni particolari
» Spending review
» ulteriore patch sole
» giorni di malattia di paziente assenteista
» Accessi Domiciliari Programmati
» Spending review
» ulteriore patch sole
» giorni di malattia di paziente assenteista
» Accessi Domiciliari Programmati
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.