> > -----Original Message----- > > From: chris.el...@shropshire.gov.uk > > [mailto:chris.el...@shropshire.gov.uk] > > Sent: Monday, February 01, 2010 4:08 AM > > To: neilst...@yahoo.com > > Cc: pgsql-general@postgresql.org > > Subject: Re: combine SQL SELECT statements into one > > > > > > Hi > > > > pgsql-general-ow...@postgresql.org wrote on 02/01/2010 07:36:55 AM: > > > > > Good Evening, Good Morning Wherever you are whenever you > > may be reading this. > > > > > > > > snip > > > > > > count1 | count2 | count3 > > > ------------------------------- > > > 2 2 4 > > > > > > Can this be done with ONE SQL STATEMENT? touching the > > database only ONE time? > > > > You can do the following: > > > > SELECT > > (SELECT COUNT(distinct model) FROM inventory WHERE > > modified >= '2010-02-01') AS "COUNT_1", > > (SELECT COUNT(distinct model) FROM inventory WHERE > > modified >= '2010-01-20') AS "COUNT_2", > > (SELECT COUNT(distinct model) FROM inventory WHERE > > modified >= '2010-01-01') AS "COUNT_3" > > ; > > > > PostgreSQL allows sub-queries in the select list as long as > > the sub-query returns one column > > > > Job done > > > > > Please let me know. > > > > > > Thanx> :) > > > NEiL > > > > > > > Chris Ellis > > > > ************************************************************** > > **************** > > > > If you are not the intended recipient of this email please do > > not send it on > > > > to others, open any attachments or file the email locally. > > > > Please inform the sender of the error and then delete the > > original email. > > > > For more information, please refer to > > http://www.shropshire.gov.uk/privacy.nsf > > > > ************************************************************** > > **************** > > > > Help prevent the spread of swine flu. CATCH IT. BIN IT. KILL IT. > > > > ************************************************************** > > **************** > > > > Original poster asked for the sql that will touch inventory table only > once. > > Your statement (with 3 subqueries) will do it 3 times. > Igor Neyman >
--- I think you will find that the poster asked to touch the DATABASE not the TABLE only once: 'Can this be done with ONE SQL STATEMENT? touching the database only ONE time?' While the sugested query might not me as optimised as possible, it demonstrates a possible method of folding multiple select statements into one select statement. This seemed main purpose of this post. I made the assumption that the intent was to reduce the overhead and latency caused from sending multiple statements. Chris Ellis