Announcement

Collapse
No announcement yet.

schwierige abfrage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • schwierige abfrage

    hallo,

    ich habe ein problem und zwar habe ich eine history tabelle mit 4 spalten

    ID, alter_wert, neuer_wert, änderungsdatum

    jetzt würde ich gerne wissen, zu welchen zeitpunkt welcher wert aktiv war, und zwar über eine sql abfrage. ich komme da aber auf keinen grünen zweig, hat mir da jemand vielleicht eine idee?

    ID ist nicht eindeutig, es können, sollten mehrere änderungen vorgenommen worden sein, mehrere zeilen mit der selben ID auftauchen


    danke & gruß
    chasp

  • #2
    Hallo chasp,

    es gibt ein paar Gründe die verhindern daß sich dein Prob eindeutig mit dieser Tabelle lösen läßt.
    1. Es gibt keinen Startwert - Welcher Wert ist gültig, wenn nichts geändert wurde?
    2. Es gibt kein eindeutiges Kriterium welches die Änderungsreihenfolge festlegt. Ein Datum ist dafür nicht ausreichend! - Welcher Wert ist gültig, wenn an einem Tag zwei (oder mehr) Änderungen vorgenommen worden sind?

    Prinzipiell würde aber eine Abfrage so aussehen:
    [highlight=sql]
    select ID, alter_wert, neuer_wert
    from history_tabelle as outer
    where outer.änderungsdatum = (
    select max(inner.änderungsdatum)
    from history_tabelle as inner
    where inner.ID = outer.ID
    and inner.änderungsdatum <= :AbfrageDatum)
    [/highlight]

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment

    Working...
    X