X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.2]) by svr1.postgresql.org (Postfix) with ESMTP id 21B0BD1B579 for ; Thu, 22 Apr 2004 12:09:54 -0300 (ADT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) with ESMTP id 87763-07 for ; Thu, 22 Apr 2004 12:09:52 -0300 (ADT) Received: from eos.w6b.sgi.interservers.com (eos.interservers.com [209.166.174.80]) by svr1.postgresql.org (Postfix) with ESMTP id 2B195D1B470 for ; Thu, 22 Apr 2004 12:09:51 -0300 (ADT) Received: from pool-151-201-43-11.pitt.east.verizon.net ([151.201.43.11] helo=buildways) by eos.w6b.sgi.interservers.com with asmtp (Exim 4.24) id 1BGfpn-0005aC-7n for pgsql-sql@postgresql.org; Thu, 22 Apr 2004 11:09:51 -0400 Reply-To: From: "Ryan Riehle" To: Subject: Design Problem... Date: Thu, 22 Apr 2004 11:09:48 -0400 Organization: BuildWays Corporation Message-ID: <000001c4287b$db326d20$0202a8c0@buildways> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.4510 Importance: Normal In-Reply-To: <20040422095648.88816.qmail@web12706.mail.yahoo.com> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - eos.w6b.sgi.interservers.com X-AntiAbuse: Original Domain - postgresql.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - buildways.com X-Virus-Scanned: by amavisd-new at postgresql.org X-Spam-Status: No, hits=0.1 tagged_above=0.0 required=5.0 tests=RCVD_IN_SORBS X-Spam-Level: X-Archive-Number: 200404/234 X-Sequence-Number: 17609 Our business has multiple cost/profit centers that I call business units, these are in a table called buinessunits. We also have a table that holds a list of services that are offerred by a business. Each business unit has many services it offers; 1 businees unit =3D> Many Services. We want to be able to query the cost/revenue/profit generated by each business unit and by each service. The problem is that it is possible that the service can be switched to a different business unit, and then possibly back to the original later on. I've looked at multiple configurations, but have not found a design that I feel is good so far. Need to somehow track when a particular service was associated with various businessunits. If you want more info, I can publish the tables for you. This same type of problem exists in at least two other areas of this database we are developing. Please help. Kind Regards, -Ryan -----Original Message----- From: pgsql-sql-owner@postgresql.org [mailto:pgsql-sql-owner@postgresql.org] On Behalf Of ogjunk-pgjedan@yahoo.com Sent: Thursday, April 22, 2004 5:57 AM To: pgsql-sql@postgresql.org Subject: Re: [SQL] Order by YYYY MM DD in reverse chrono order trouble Hello, I'd love to be able to do that, but I cannot just ORDER BY uu.add_date, because I do not have uu.add_date in the SELECT part of the statement.=20 The reason I don't have it there is because I need distinct YYYY MM DD values back. Is there a trick that I could use to make this more elegant? Thanks, Otis --- Edmund Bacon wrote: > Is there some reason you can't do this: >=20 > SELECT DISTINCT > date_part('year', uu.add_date), date_part('month', uu.add_date),=20 > date_part('day', uu.add_date) >=20 > FROM uus INNER JOIN ui ON uus.user_id=3Dui.id INNER JOIN uu ON > ui.id=3Duu.user_id > WHERE uus.x_id=3D1 >=20 > ORDER BY=20 > uu.add_date DESC; >=20 > This might be faster, as you only have to sort on one field, and I=20 > think it should give the desired results >=20 > ogjunk-pgjedan@yahoo.com wrote: >=20 > >Hello, > > > >I am trying to select distinct dates and order them in the reverse=20 > >chronological order. Although the column type is TIMESTAMP, in this=20 > >case I want only YYYY, MM, and DD back. > > > >I am using the following query, but it's not returning dates back in=20 > >the reverse chronological order: > > > >SELECT DISTINCT > > date_part('year', uu.add_date), date_part('month', uu.add_date), > > date_part('day', uu.add_date) > > > >FROM uus INNER JOIN ui ON uus.user_id=3Dui.id INNER JOIN uu ON=20 > >ui.id=3Duu.user_id WHERE uus.x_id=3D1 > > > >ORDER BY > >date_part('year', uu.add_date), date_part('month', uu.add_date), > >date_part('day', uu.add_date) DESC; > > > > > >This is what the above query returns: > > > > date_part | date_part | date_part > >-----------+-----------+----------- > > 2004 | 2 | 6 > > 2004 | 4 | 20 > >(2 rows) > > > > > >I am trying to get back something like this: > >2004 4 20 > >2004 4 19 > >2004 2 6 > >... > > > >My query is obviously wrong, but I can't see the mistake. I was=20 > >wondering if anyone else can see it. Just changing DESC to ASC, did=20 > >not work. > > > >Thank you! > >Otis > > > > > >---------------------------(end of > broadcast)--------------------------- > >TIP 2: you can get off all lists at once with the unregister command > > (send "unregister YourEmailAddressHere" to > majordomo@postgresql.org) > >=20=20 > > >=20 > -- > Edmund Bacon >=20 ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend