Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Join aber nur neusten eintrag anzeigen



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



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group