AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenauswertung mit SQL-Befehl?
Thema durchsuchen
Ansicht
Themen-Optionen

Datenauswertung mit SQL-Befehl?

Ein Thema von d6lpz · begonnen am 16. Apr 2008 · letzter Beitrag vom 19. Apr 2008
 
d6lpz

Registriert seit: 26. Mär 2008
73 Beiträge
 
Delphi 6 Professional
 
#14

Re: Datenauswertung mit SQL-Befehl?

  Alt 18. Apr 2008, 14:31
Hallo - du bist DER Held!

Ich bin einigermaßen biff was man mit SQL alles machen kann. Ich wollte das doch tatsächlich über Schleifen rausfummeln. Mal abgesehen von der besch... Performance der Schleifenlösung, ist diese SQL Lösung doch viel eleganter!!

Zitat von omata:

SQL-Code:
SELECT a.f_name, COUNT(*) AS anzahl
FROM tbl_daten a
LEFT JOIN tbl_daten b
  ON ( a.f_date = b.f_date + 1
      AND b.f_content = 'W')
WHERE MONTH(a.f_date) = 1
  AND a.f_content = 'W'
  AND b.nameID IS NULL
GROUP BY a.f_name
oder auch...

SQL-Code:
SELECT MONTH(a.f_date) monat, YEAR(a.f_date) jahr, a.f_name, COUNT(*) AS anzahl
FROM tbl_daten a
LEFT JOIN tbl_daten b
  ON ( a.f_date = b.f_date + 1
      AND b.f_content = 'W')
WHERE a.f_content = 'W'
  AND b.nameID IS NULL
GROUP BY a.f_name, MONTH(a.f_date), YEAR(a.f_date)
Das funktioniert tatsächlich (Variante 2 habe ich bis jetzt getestet).
Ich muß jetzt nur noch richtig verstehen, was da eigentlich richtig passiert

Ich bin momentan dabei diese Variante zu erweitern. Um es nicht noch weiter zu verkomplizieren, hatte ich bis jetzt noch eine weitere Bedingung für das Zyklenzählen "verschwiegen".
Eine weitere Bedingung für das Erkennen eines cycles ist dieses "C" in der Tabelle. Wenn nämlich zwischen zwei "W" ein oder auch mehrere hintereinanderfolgende "F" stehen, dann soll der Zyklus als zusammengehörig erkannt werden.
Also z.b.
"W"
"W"
"C"
"W"
"W"
"F"
"F"
"F"
"W"
"W"
wären dann nicht drei Zyklen sondern nur zwei.
Das "C" kann auch ein "A" oder "S" oder "K" sein. Sowie aber zwischen zwei "W" ein oder mehrere "F" stehen, zählt es als ein Zyklus.
Ich versuche das jetzt irgendwie noch zu integrieren. Wenn du noch Lust hast, wäre ich über einen weiteren Tip natürlich auch nicht böse

Dirk
  Mit Zitat antworten Zitat
 


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 13:45 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