Seite 1 von 1

kniffliges Problem... [ERLEDIGT]

Verfasst: Mi, 25. Jun 2014 10:42
von UliTs
Bestimmt gibt es eine ganz einfache SQL-Lösung, ich komme nur nicht drauf...

Ich habe eine Tabelle "Zeitreise" mit den Feldern "Id,Tag,Ort", die aussagen soll, wann man wo war. Beispiel:
  • Id Tag Ort
    1234 01.01.2014 München
    1233 31.12.2013 München
    1232 30.12.2013 Köln
    1231 29.12.2013 Hamburg
    1230 28.12.2013 München
    ...
Ich möchte bestimmen, seit wann ich am aktuellen Ort bin.
In obigem Beispiel soll als Ergebnis der 31.12.2013 rauskommen.

FALSCHE Lösung:

Code: Alles auswählen

SELECT Min(Tag) FROM Zeitreise WHERE ORT='München'
Da kommt (leicht nachvollziehbar) der 28.12.2013 raus.

Kennt jemand eine einfache SQL-Lösung?

Uli

Re: kniffliges Problem...

Verfasst: Mi, 25. Jun 2014 11:57
von nightcrawler
Aktuellen Ort herausfinden mit:

Code: Alles auswählen

select * from #zeitreise
where ort like (select top 1 ort from #zeitreise order by tag desc);
Den letzten Ort vor dem aktuellen herausfinden herausfinden mit:

Code: Alles auswählen

select top 1 * from #zeitreise
where ort not like (select top 1 ort from #zeitreise order by tag desc)
order by tag desc;
Jetzt erweitern, so dass der nachfolgende Ort davon gefunden wird. Es wird auf >= getestet, da man evtl am gleichen Tag auch mehrere Orte besuchen könnte:

Code: Alles auswählen

select top 1 * from #zeitreise
where ort like (select top 1 ort from #zeitreise order by tag desc)
and tag >= (
  select top 1 tag from #zeitreise
  where ort not like (select top 1 ort from #zeitreise order by tag desc)
  order by tag desc
)
order by tag asc

Re: kniffliges Problem...

Verfasst: Mi, 25. Jun 2014 12:00
von UliTs
So, ich habe eine eigene sehr schnelle Lösung gefunden :D .

Code: Alles auswählen

SELECT Min(Tag) 
FROM   Zeitreise 
WHERE  Ort='München' AND 
       Tag >= ( SELECT max(Tag) FROM Zeitreise WHERE Ort<>'München' )
Uli

Re: kniffliges Problem...

Verfasst: Mi, 25. Jun 2014 12:04
von UliTs
Hallo Joachim,

danke für die Lösung!
Spricht etwas gegen meine Lösung, außer dass ich nicht den aktuellen Ort automatisch bestimme?

Uli

Re: kniffliges Problem... [ERLEDIGT]

Verfasst: Mi, 25. Jun 2014 12:38
von nightcrawler
auf den ersten Blick sehe ich bei Deiner Lösung keine Probleme.