AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQL: Liste mit Zeiträumen

Ein Thema von Nersgatt · begonnen am 4. Apr 2017 · letzter Beitrag vom 5. Apr 2017
Antwort Antwort
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#1

AW: SQL: Liste mit Zeiträumen

  Alt 4. Apr 2017, 15:19
Nur mal laut gedacht:

SQL-Code:
Select Basis.*,
  ( Select Min(B2.Datum) From Buchungen B2 Where B2.PersonID=Basis.PersonID
    AND B2.Datum>=Basis.Datum AND B2.Datum+1 not in
   (Select Datum From Buchungen Where PersonID=B2.PersonID)
  ) as Endedatum
From
(
Select
  B.PersonID, P.Name, B.Datum as Startdatum
From
  Buchungen B
Left Join
  Personen P
On P.ID=B.PersonID
Where B.Datum-1 not in (Select Datum From Buchungen Where PersonID=B.PersonID
) Basis

Order By 1,2
Ralph
  Mit Zitat antworten Zitat
madas

Registriert seit: 9. Aug 2007
207 Beiträge
 
#2

AW: SQL: Liste mit Zeiträumen

  Alt 4. Apr 2017, 15:52
Nur mal laut gedacht:

SQL-Code:
Select Basis.*,
  ( Select Min(B2.Datum) From Buchungen B2 Where B2.PersonID=Basis.PersonID
    AND B2.Datum>=Basis.Datum AND B2.Datum+1 not in
   (Select Datum From Buchungen Where PersonID=B2.PersonID)
  ) as Endedatum
From
(
Select
  B.PersonID, P.Name, B.Datum as Startdatum
From
  Buchungen B
Left Join
  Personen P
On P.ID=B.PersonID
Where B.Datum-1 not in (Select Datum From Buchungen Where PersonID=B.PersonID
) Basis

Order By 1,2
Wenn man in der ersten Where Clausel Basis.Datum mit Basis.Startdatum ersetzt, dann funzt das in der Tat.
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: SQL: Liste mit Zeiträumen

  Alt 4. Apr 2017, 16:14
Ich überlege gerade nochmal, ob man den Subselect fürs Endedatum nicht in die untere Abfrage mit aufnehmen kann, und sich so die äußere Abfrage sparen kann. Aber irgendein Denk(fehler?)/ansatz hatte mich da abgehalten.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: SQL: Liste mit Zeiträumen

  Alt 5. Apr 2017, 06:04
So wie Jumpy es geschrieben hat, hab ich es nun gelöst.
Zum Glück kann ich die Buchungen vorher schon stark einschränken, so dass die Abfrage schnell genug läuft.
Jens
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz