Announcement

Collapse
No announcement yet.

datum aus result 1 mmit datum aus result 2 vergleichen

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

  • datum aus result 1 mmit datum aus result 2 vergleichen

    Select * from preisliste

    liefert folgendes Ergebnis

    item gueltig_von gueltig_bis preis
    1111 20080101 20081231 100
    1111 20090101 20091231 105

    2222 20080101 "20081231" 200
    2222 "20080501" 20081231 220
    2222 20090101 20091231 240
    …….
    …….

    Die beiden mit "" Datensätze haben einen Fehler (überlappender Datumsbereich)
    und die muss ich in allen 100000 Einträgen (Items) der Tabelle preisliste finden

    wer kann mir da helfen??

  • #2
    Hallo weinhape,

    eine Ansatz kann ich Dir schon mal geben, ein Self-Join mit entsprechenden Vergleich:
    [highlight=SQL]SELECT *
    FROM preisliste AS SRC
    INNER JOIN preisliste AS DST
    ON SRC.item = DST.item
    WHERE SRC.gueltig_von BETWEEN DST.gueltig_von AND DST.gueltig_bis
    OR SRC.gueltig_BIS BETWEEN DST.gueltig_von AND DST.gueltig_bis[/highlight]
    Eine Kleinigkeit zu tun gibt es noch, es wird auch der "eigene" Datensatz gefunden, der muss noch rausgefiltert werden; aber das bekommst Du schon hin.
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment

    Working...
    X