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 ===
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 |