![]() |
Datenbank: InterBase • Version: 7.5 • Zugriff über: Delphi 2006 prof.
Group by "Datum" Problem
Hi,
bin gerade am Suchen und finde keine Lösung für mein Problem. Meine Tabelle enthält u.a. folgendes: DOSENMENGE SNH_DATUM 15 15.08.2010 24 25.08.2010 11 05.09.2010 Jetzt möchte ich es nach Monaten gruppieren, InterBase meldet leider nur Fehler. SELECT SUM(SNH_DOSENMENGE) as DOSENMENGE, Extract (MONTH from SNH_DATUM) as MONAT FROM SNACK_HAUPT GROUP BY MONAT <- Fehler: was ist MONAT? ..oder GROUP BY Extract (MONTH from SNH_DATUM) <- Extract unerlaubt Die beiden Sachen scheinen in anderen Datenbanken zu funktionieren, wie muss man es in InterBase machen?? Ich möchte wissen, wie viele Dosen in einzelnen Monaten (oder Jahren) verkauft wurden. Viele Grüsse |
AW: Group by "Datum" Problem
Ich habe das Problem bisher immer mit dem Umweg über einen View gelöst. Bei dem Select auf den View kannst du dann dein group by Monat machen.
|
AW: Group by "Datum" Problem
Oder so
SQL-Code:
SELECT
SUM(SNH_DOSENMENGE) as DOSENMENGE, Extract (MONTH from SNH_DATUM) as MONAT FROM SNACK_HAUPT GROUP BY Extract (MONTH from SNH_DATUM) |
AW: Group by "Datum" Problem
Danke, versuche es über View.
An alzaimar: bzg. GROUP BY Extract (MONTH from SNH_DATUM) Wie ich bereits oben vermerkt habe: Extract hinter Group by führt zum Fehler bei InterBase |
AW: Group by "Datum" Problem
Hallo cugar,
alzaimar meinte bestimmt:
SQL-Code:
Für Auswertungen greifst Du aber trotzdem über eine VIEW auf die Daten zu - Du musst dann bei Änderungen an der Basis-Tabelle nur die View anpassen.
SELECT
EXTRACT (MONTH FROM snh_datum) AS monat, SUM(snh_dosenmenge) AS dosenmenge, FROM snack_haupt WHERE EXTRACT (YEAR FROM snh_datum) = :year GROUP BY 1 ORDER BY 1 DESC Grüße vom marabu |
AW: Group by "Datum" Problem
Geht auch nicht, Token Unknow: 1
Weiß manche Datenbanken erlauben es mit Zahlen zu machen, Interbase will nicht :) Ich verwende DBChart und hab da es angebunden. Bei DBChart kann man es auswählen wie es gruppiert werden soll (Jahr, Monat, Woche usw), verändert DBChart für sich irgendwie die SQL-Anweisung(denn da wird es richtig angezeigt)? |
AW: Group by "Datum" Problem
Welches 1 mahnt er an?
@Achim: Welcome back! |
AW: Group by "Datum" Problem
Zeile 6
GROUP BY 1 |
AW: Group by "Datum" Problem
Versuch es mal mit einer Derived Table:
SQL-Code:
SELECT
s.monat, Sum(s.snh_dosenmenge) as dosenmenge from ( select EXTRACT (MONTH FROM snh_datum) AS monat, EXTRACT (YEAR FROM snh_datum) as jahr snh_dosenmenge FROM snack_haupt) s WHERE s.jahr = :year GROUP BY monat ORDER BY Monat DESC; |
AW: Group by "Datum" Problem
Tatsächlich unterstützt auch das aktuelle Interbase noch keine Spaltennummern in der GROUP BY Klausel, wohl aber in der ORDER BY Klausel:
Zitat:
@Markus: :thumb: |
AW: Group by "Datum" Problem
Token Unknow: Select (Zeile 6)
Interbase erlaubt soviel ich weiß nur zusätzliche selects nach WHERE. Frag mich manchmal ob ich mir die richtige datenbank ausgesucht habe... |
AW: Group by "Datum" Problem
Wäre FireBird eine Option?
|
AW: Group by "Datum" Problem
Ich kann kaum glauben, dass Interbase so schlecht sein soll :shock:
|
AW: Group by "Datum" Problem
Keine Ahnung... bin von Delphi's BDE weg und dachte, mache nichts falsch und nehme wieder was vom Borland.
Ich sag nicht das interBase sooo schlecht sein soll, dazu fehlt mir noch an Erfahrung, lese aber nur wie andere User Ihre Probleme lösen können und ich kann davon nie was (oder selten) anwenden. event. sind andere Datenbanken etwas weiter und quittieren nicht immer alles mit: Token Unknow (Scherz) Werde gleich googeln wie FireBird so im Vergleich ist und ob die Umstellung für mich neue Welt bedeutet :) |
AW: Group by "Datum" Problem
FireBird ist der OpenSource Bruder von Interbase. Hat die gleiche Codebase (IB6), von der sich die beiden Systeme nun auseinander entwickeln.
|
AW: Group by "Datum" Problem
Hört sich gut an, alles also ähnlich.
Kann man (muss man) auch Delphi-Komponenten erwerben, so ähnlich wie die InterBase-Kompos oder funktionieren die alten immer noch? |
AW: Group by "Datum" Problem
Grundsätzlich funktionieren die IBX Komponenten, besser sind aber welche, die FireBird im Speziellen unterstützen wie z.B. IBDAC, FIBPlus, UIB o.ä.
|
AW: Group by "Datum" Problem
IBDAC scheinen preislich noch ok zu sein Standard für 99 eur und 149 für prof.
Brauche sicher die Prof.Version um zusätzlich von meinem Prog. aus die Datenbank nach Benutzerdaten abfragen zu können, dh. Rolles, Benutzername und Passwort oder auch die Datenbank einfach nur sichern Die FIBPlus-Kompos liegen bei 299 $. |
AW: Group by "Datum" Problem
Beiden Standard fehlen m.W. nur die Sourcen (habe Pro)
Lade dir mal die Trialversion herunter und Teste diese. |
AW: Group by "Datum" Problem
Hab mal hier beide Versionen gefunden.
![]() Vor der installation von Firebird, muss die InterBase weg? |
AW: Group by "Datum" Problem
Jein, du kannst FireBird auch auf einen abweichenden Port installieren ( Standradmässig wird ja auch 3050 verwendet)
|
AW: Group by "Datum" Problem
Ok, mache ich. Danke für die Hilfe :lol:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:48 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