Search Postgresql Archives

Re: URGENT!!! SELECT statement please help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Why have you asked the same question 3 times in five minutes?
Additional responses below.

sconeek@xxxxxxxxx wrote:
> hi all,
> 
> i have a web based java application with a postgres db.
> 
> now i am trying to generate a temp table which contains all hour
> records for a selected date range. eg. if the user selects 2006-03-14
> as from and 2006-03-14 as to, the system should insert 24 hour
> records with their individual time stamps (eg 2006-03-14 12:00:00).   
> 
> now currently, i have a select statement which searches another
> table, finds data and then inserts them. but the problem is that if
> there is no data for an hour, it does not insert anything.  
> 
> now i can think of a couple of solutions,
> 1. insert additional records using a second statement, which compares
> the table and inserts any missing records 2. insert data as usual and
> then using a second statement, compare the content and insert any
> missing records.   
> 
> my current implementation is:
> " INSERT INTO temp_table (edit_time,edit_time_count) " +
> " SELECT to_timestamp(to_char (last_edit_timestamp,'YYYY-MM-DD
>                    HH24:00:00'), 'YYYY-MM-DD HH24:00:00')AS
> edit_time, " + " count(to_char (last_edit_timestamp,'YYYY-MM-DD
> HH24:00:00')) as edit_time_count " + " FROM " + tableName + " " +
> sqlWhereStr + " GROUP BY to_char (last_edit_timestamp,'YYYY-MM-DD
> HH24:00:00') " + " ORDER BY to_char (last_edit_timestamp,'YYYY-MM-DD
> HH24:00:00'); ";    
> 
> the problem is that if the select statement does not return anything
> for a particular hour record, that record is not inserted. now i
> would like to have a table with all records including hours with 0
> count.   
> 
> can somebody please help me urgently. i would really appreciate it.
> thanks. 

Don't rely on your SELECT to provide the timestamps.  You know what
dates you are working with, and you know the hour range (1-24).  So
prefill the table with 24 rows for each day in the date range.  Then use
your select statement to update any rows for which you have data.

-- 
Guy Rouillier



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux