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

Re: Help with a postgreSQL-query



 This sounds more like an SQL question to me. I don't have 
postgres, but on informix there's a day() function for dates so
I can do this:

  SELECT * FROM agenda_items WHERE day(itemdate)=15;

 (where itemdate is a DATETIME field)

							-dave m.


On Wed, 4 Feb 1998, Johann Spies wrote:

> Hallo,
> 
> I am using pygresql as an interface to postgres.  I want to get a list of
> people who's birthday it is today.  Which is the best way to do it.  The
> following code works, but it is very slow and does 101 queries.
> 
> Is there a way to put this into a single query?
> 
> If I would like to know which people was born on say the 15th of any
> month, how can I query that without having to send 12*100 queries to
> postgreSQL?
> 
> -------------------------------
> from pgext import *
> from pgtools import *
> from time import time
> def bidlys(pgcnx):
>     t = time.time()
>     jaar, maand, dag = time.localtime(t)[0:3]
>     datumlys = []
>     for i in range(jaar-100,jaar+1):
> 	datum =  '%02d.%02d' + '.%02d'
> 	dat = datum%(dag,maand,i)
> 	datumlys.append(dat)
>     print
>     veldlys = ['noemnaam', 'van', 'geboortedatum', 'adres1']
>     lys = []
>     for d in datumlys:
> 	s = """SELECT noemnaam, van, geboortedatum, adres1 from lidmate, besoekpunt
>            where (besoekpunt.nommer = bpnommer and geboortedatum = '%s')"""%d
> 	bidvir = pgcnx.query(s)
> 	if not bidvir.getresult() == []:
> 	   for item in bidvir.getresult():
> 	       lys.append(item)
>     display(veldlys,lys)
> cnx = connect()
> wys = bidlys(cnx)
> 
> ------------------------------------------------
> Johann Spies
> jhspies@alpha.futurenet.co.za
> 
> Windsorlaan 19
> Pietermaritzburg
> 3201
> Suid Afrika (South Africa)
> Tel/Faks Nr. +27 331-46-1310
> 


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-user-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: