sql query

Jude DaShiell jdashiel at shellworld.net
Tue Oct 28 09:08:13 UTC 2014


Hi Tim,

This may help:
create table health ( 
date   date PRIMARY KEY,
Cystalic_Pressure    int NOT NULL, check (Cystalic_Pressure > 0),
--- cystalic pressure
Dyastalic_Pressure int NOT NULL, check (Dyastalic_Pressure > 0),
--- dyastalic pressure
Pulse int NOT NULL, check (Pulse > 0),
--- pulse
Blood_Sugar int NOT NULL, check (Blood_Sugar > 0),
--- blood sugar
weekday int NOT NULL, check (weekday > -1), check (weekday < 7)
--- weekday number saturday=6
);
On Sun, 26 Oct 2014, Tim Chase wrote:

> On October 25, 2014, Jude DaShiell wrote:
> > jude=# \i phealth1.sql
> > psql:phealth1.sql:97: ERROR:  missing FROM-clause entry for table
> > "h" LINE 66:  (select h.dyastalic_pressure
> 
> Ah, my apologies.  Without actual database access, it's a bit tough
> to vet these queries.  I was missing some table aliases that I've put
> in the SQL below.  Sorry 'bout that.
> 
> -tim
> 
> 
> select
>  'Combined' as Title,
>  min(date) as "Starting Date:",
>  max(date) as "Ending Date:",
>  count(cystalic_pressure) as "Cystalic Sample Size:",
>  round(avg(cystalic_pressure),1) as "Average Cystalic Pressure:",
>  min(cystalic_pressure) as "Min Cystalic Pressure:",
>  max(cystalic_pressure) as "Max Cystalic Pressure:",
>  (select h.cystalic_pressure
>   from health h
>   where date between now() - interval '1 week' and now()
>   group by h.cystalic_pressure
>   order by count(h.cystalic_pressure) desc, h.cystalic_pressure
>   limit 1) as "Mode Cystalic Pressure:",
>  count(dyastalic_pressure) as "Dyastalic Sample Size:",
>  round(avg(dyastalic_pressure),1) as "Average Dyastalic Pressure:",
>  min(dyastalic_pressure) as "Min Dyastalic Pressure:",
>  max(dyastalic_pressure) as "Max Dyastalic Pressure:",
>  (select h.dyastalic_pressure
>   from health h
>   where date between now() - interval '1 week' and now()
>   group by h.dyastalic_pressure
>   order by count(h.dyastalic_pressure) desc, h.dyastalic_pressure
>   limit 1) as "Mode Dyastalic Pressure:",
>  count(pulse) as "Pulse Sample Size:",
>  round(avg(pulse),1) as "Average Pulse:",
>  min(pulse) as "Min Pulse:",
>  max(pulse) as "Max Pulse:",
>  (select h.pulse
>   from health h
>   where date between now() - interval '1 week' and now()
>   group by h.pulse
>   order by count(h.pulse) desc, h.pulse
>   limit 1) as "Mode Pulse:",
>  count(blood_sugar) as "Sugar Sample Size:",
>  round(avg(blood_sugar),1) as "Average Sugar:",
>  min(blood_sugar) as "Min Sugar:",
>  max(blood_sugar) as "Max Sugar:",
>  (select h.blood_sugar
>   from health h
>   where date between now() - interval '1 week' and now()
>   group by h.blood_sugar
>   order by count(h.blood_sugar) desc, h.blood_sugar
>   limit 1) as "Mode Sugar:"
> from health
> where date between now() - interval '1 week' and now()
> 
> union all
> 
> select
>  to_char(date, 'Day') as Title,
>  date as "Starting Date:",
>  date as "Ending Date:",
>  count(cystalic_pressure) as "Cystalic Sample Size:",
>  round(avg(cystalic_pressure),1) as "Average Cystalic Pressure:",
>  min(cystalic_pressure) as "Min Cystalic Pressure:",
>  max(cystalic_pressure) as "Max Cystalic Pressure:",
>  (select h.cystalic_pressure
>   from health h
>   where h.date = health.date
>   group by h.cystalic_pressure
>   order by count(h.cystalic_pressure) desc, h.cystalic_pressure
>   limit 1) as "Mode Cystalic Pressure:",
>  count(dyastalic_pressure) as "Dyastalic Sample Size:",
>  round(avg(dyastalic_pressure),1) as "Average Dyastalic Pressure:",
>  min(dyastalic_pressure) as "Min Dyastalic Pressure:",
>  max(dyastalic_pressure) as "Max Dyastalic Pressure:",
>  (select h.dyastalic_pressure
>   from health h
>   where h.date = health.date
>   group by h.dyastalic_pressure
>   order by count(h.dyastalic_pressure) desc, h.dyastalic_pressure
>   limit 1) as "Mode Dyastalic Pressure:",
>  count(pulse) as "Pulse Sample Size:",
>  round(avg(pulse),1) as "Average Pulse:",
>  min(pulse) as "Min Pulse:",
>  max(pulse) as "Max Pulse:",
>  (select h.pulse
>   from health h
>   where h.date = health.date
>   group by h.pulse
>   order by count(h.pulse) desc, h.pulse
>   limit 1) as "Mode Pulse:",
>  count(blood_sugar) as "Sugar Sample Size:",
>  round(avg(blood_sugar),1) as "Average Sugar:",
>  min(blood_sugar) as "Min Sugar:",
>  max(blood_sugar) as "Max Sugar:",
>  (select h.blood_sugar
>   from health h
>   where h.date = health.date
>   group by h.blood_sugar
>   order by count(h.blood_sugar) desc, h.blood_sugar
>   limit 1) as "Mode Sugar:"
> from health
> where date >= now() - interval '1 week'
> group by date
> order by "Starting Date:", Title;
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> Blinux-list mailing list
> Blinux-list at redhat.com
> https://www.redhat.com/mailman/listinfo/blinux-list
> 
> 

jude <jdashiel at shellworld.net>
Twitter: @jdashiel




More information about the Blinux-list mailing list