Re: Join aber nur neusten eintrag anzeigen

From: "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: Join aber nur neusten eintrag anzeigen
Date: 2006-04-10 13:40:05
Message-ID: 20060410134005.GJ9105@webserv.wug-glas.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

am 10.04.2006, um 15:11:27 +0200 mailte rene hankel folgendes:
> Hi,
>
> Folgende abfrage(leicht vereinfacht zwecks uebersich):
>
> SELECT anlagen.tbl_anlage.id,
> anlagen.tbl_anlage.standort,
> anlagen.tbl_anlage.bezeichnung
> anlagen.tbl_planungsversion.version,
> anlagen.tbl_planungsversion.date
> FROM anlagen.tbl_anlage
> LEFT OUTER JOIN anlagen.tbl_anlagentyp
> ON anlagen.tbl_anlage.anlagentyp_id =
> anlagen.tbl_anlagentyp.id
> LEFT OUTER JOIN anlagen.tbl_planungsversion
> ON anlagen.tbl_anlage.id =
> anlagen.tbl_planungsversion.anlage_id
> WHERE (anlagen.tbl_anlage.id IN ( ....
>
>
> PROBLEM:
> Die tabelle anlagen.tbl_planungsversion enthaelt alle versionen der anlage
> ueber den zeitraum x.
> In der tabelle soll aber immer nur die LETZTE version(vom datum her)
> angezeigt werden. Logischweise
> Würde die abfrage wie oben funzen, wenn ich sie nach id, date sortiere und
> immer nur die 1. zeile

Wäre eine weitere WHERE-Bedingung auf max(date) nicht das, was Du
suchst? Also:

WHERE (anlagen.tbl_anlage.id IN ( .... ) and
anlagen.tbl_planungsversion.date = (select
max(anlagen.tbl_planungsversion.date) from anlagen.tbl_planungsversion
...)

Und/oder:

ein View auf anlagen.tbl_planungsversion, der nur die neueste Version
jeweils beinhaltet, und diesen View in Deine Abfrage einbeziehen. Das
sollte zwar dann auf dasselbe hinauslaufen, sieht aber übersichtlicher
aus und Du hast gleich einen schönen View auf die aktuell gültige
Version der Anlage...

Andreas
--
Andreas Kretschmer (Kontakt: siehe Header)
Heynitz: 035242/47215, D1: 0160/7141639
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
=== Schollglas Unternehmensgruppe ===

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message rene hankel 2006-04-11 09:45:31 Re: Join aber nur neusten eintrag anzeigen
Previous Message rene hankel 2006-04-10 13:11:27 Join aber nur neusten eintrag anzeigen