AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL oder nicht SQL ...
Thema durchsuchen
Ansicht
Themen-Optionen

SQL oder nicht SQL ...

Ein Thema von mschaefer · begonnen am 10. Jan 2007 · letzter Beitrag vom 19. Feb 2007
Antwort Antwort
Seite 3 von 3     123   
alex517

Registriert seit: 23. Nov 2004
Ort: Bernau b. Berlin
273 Beiträge
 
Delphi XE5 Enterprise
 
#21

Re: SQL oder nicht SQL ...

  Alt 12. Feb 2007, 20:24
Zitat von Hansa:
Ah, Alex. Muss ich in Ruhe mal angucken. Das hier bleibt trotzdem jetzt so stehen.
Sorry Hansa, war die falsche SP, deshalb editiert.
Alexander
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#22

Re: SQL oder nicht SQL ...

  Alt 12. Feb 2007, 20:33
Warum so komplizert?

Leg dir eine Tabelle mit den Monaten an...

Tabelle Monate...
SQL-Code:
CREATE TABLE Monate (
  monat INT NOT NULL ,
  Bezeichnung varchar (50) NOT NULL ,
  CONSTRAINT [PK_Monate] PRIMARY KEY (monat_id) ON PRIMARY
) ON PRIMARY
Inhalt...
Code:
Monat Bezeichnung
1     Januar
2     ...
3
4
5
6
7
8
9
10
11
12
Und hol dir deine Daten...
SQL-Code:
SELECT *
FROM (SELECT *
      FROM monate, (SELECT DISTINCT jahr
                    FROM umsatz
                    WHERE jahr BETWEEN 2005 AND 2006) x) x
LEFT JOIN umsatz u
  ON x.jahr = u.jahr
     AND x.monat = u.monat
ORDER BY x.jahr, x.monat
Gruss
Thorsten
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#23

Re: SQL oder nicht SQL ...

  Alt 12. Feb 2007, 21:14
Omata, was ist bei einer Monatstabelle denn gewonnen ? Siehe meine Betriebsferien. Den Urlaub zu unterbrechen, um einen 0-Umsatz einzugeben, das hätte ich gespart. Stattdessen müsste ich doch 2-mal zurückfliegen, um eben nur einen überflüssigen 0-Umsatz-Monat anzulegen. Gut, man könnte natürlich jetzt schon Monate bis zur Rente anlegen. Am Speicherplatz sollte es kaum liegen.
Gruß
Hansa
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#24

Re: SQL oder nicht SQL ...

  Alt 12. Feb 2007, 21:16
Hansa, du scheint das Problem nicht zu verstehen. Nur weil in einem Monat kein Umsatz generiert wird, existiert dieser Monat doch trotzdem!
Markus Kinzler
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#25

Re: SQL oder nicht SQL ...

  Alt 12. Feb 2007, 21:26
@Hansa: Ich kann deinen Einwand leider nicht nachvollziehen.

Man kann die Jahre einschränken, auf Monate könnte man das auch noch ohne weiters. Und was mit deinen komischen Betriebsferien ist weiss ich auch nicht. Mir ging es nur darum die Daten, die in der Datenbank stehen auszulesen und darzustellen.

Wie auch immer, ihr könnt meinen Beitrag ja überlesen...

Gruss
Thorsten
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#26

Re: SQL oder nicht SQL ...

  Alt 12. Feb 2007, 22:21
Zitat von omata:
...Wie auch immer, ihr könnt meinen Beitrag ja überlesen...
Warum denn ? Hier soll doch diskutiert werden, oder nicht mehr ? Du meinst also, eine Tabelle, in der lediglich 12 Monate stehen und sonst nichts ? Also nicht leere Monate mit rumschleppen, wo Umsatz=0 (Betriebsferien) und das Jahr für Jahr ? Hmm, geht das so ?
Gruß
Hansa
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#27

Re: SQL oder nicht SQL ...

  Alt 12. Feb 2007, 22:23
Wenn er aber eine Umsatzliste pro Monat haben will, will er eine pro Monat und nicht pro Monat der Werte besitzt. Das Jahr hat 12 Monate egal wieviel Monate ein Betrieb vielleicht Ferien hat oder nicht.
Markus Kinzler
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#28

Re: SQL oder nicht SQL ...

  Alt 12. Feb 2007, 22:30
Klar können wir diskutieren.

Ich dachte das mit den leeren Monaten war gerade gewollt. Damit eventuelle Lücken aufgefüllt werden. Man kann natürlich noch einbauen, das Monate die in der Zukunft liegen noch nicht ausgegeben werden. Ich weiss jetzt gerade nicht wie ich an das aktuelle Datum in FB komme.

Für MSSQL würde das so aussehen...
SQL-Code:
SELECT *
FROM (SELECT *
      FROM monate, (SELECT DISTINCT jahr
                    FROM umsatz
                    WHERE jahr BETWEEN 2005 AND 2006) x) x
LEFT JOIN umsatz u
  ON x.jahr = u.jahr
     AND x.monat = u.monat
WHERE x.jahr < YEAR(GETDATE())
   OR (x.jahr = YEAR(GETDATE()) AND x.monat <= MONTH(GETDATE()))
ORDER BY x.jahr, x.monat
Gruss
Thorsten
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#29

Re: SQL oder nicht SQL ...

  Alt 12. Feb 2007, 22:33
Zitat:
Ich weiss jetzt gerade nicht wie ich an das aktuelle Datum in FB komme.
CURRENT_DATE
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#30

Re: SQL oder nicht SQL ...

  Alt 19. Feb 2007, 07:13
Zunächst mal vielen Dank für die interessante Diskussion. Hattte einige Tage Computersperre (anderea Aufgaben). Selbst habe ich tatsächlich keine Monatstabelle. Das ist aber änderbar und dann ist die Möglichkeit per Join eine gute Lösung. Die Stored-Proc Lösung hat mich schon beeindruckt. Da ich möglichst DB unabhängig arbeiten soll, wird es wohl eine reine Join-Lösungwerden.

Das Problem ist ja übrigens sehr allgemein. Überall wo Vorlagen ausgefüllt werden sollen müssen auch Nullzeilen mit ausgegeben werden.Projekte pro Monat, Umsatz pro Mitarbeiter, neue Artikel pro Filiale...
Eigentlich ist es ein sehr allgemeines Problem und ich bedanke mich für die Vorschläge

Viele Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 18:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz