Re: combine SQL SELECT statements into one - Mailing list pgsql-general
From | Chris.Ellis@shropshire.gov.uk |
---|---|
Subject | Re: combine SQL SELECT statements into one |
Date | |
Msg-id | OF6C0E547E.E86C35A0-ON802576BD.0070536A-802576BD.0071C6AE@shropshire.gov.uk Whole thread Raw |
In response to | Re: combine SQL SELECT statements into one ("Igor Neyman" <ineyman@perceptron.com>) |
List | pgsql-general |
> > -----Original Message-----
> > From: Chris.Ellis@shropshire.gov.uk
> > [mailto:Chris.Ellis@shropshire.gov.uk]
> > Sent: Monday, February 01, 2010 4:08 AM
> > To: neilstylz@yahoo.com
> > Cc: pgsql-general@postgresql.org
> > Subject: Re: combine SQL SELECT statements into one
> >
> >
> > Hi
> >
> > pgsql-general-owner@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
pgsql-general by date: