Probleme mit Abfrage

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Probleme mit Abfrage

Re: Probleme mit Abfrage

von Barlee » So, 03.05.2009 22:18

Hallo DerHarry,

Du beziehst Dich auf die Darstellung im Bericht/Report. Hierzu musst Du Dir die Funktion "Gruppierung" im Report Builder anschauen.

Eine Anpassung der Abfrage ist dafür nicht erforderlich.

Gruß Barlee

Re: Probleme mit Abfrage

von Barlee » So, 03.05.2009 18:38

das mit der Aggregatfunktion habe ich nicht kapiert wie soll das gehen?
OK, dann nochmal etwas deutlicher. Deine Abfrage kann nur OHNE "GROUP BY" funktionieren, denn eine Gruppierung setzt das Vorhandensein einer Aggregatfunktion (z.B. MIN, MAX, AVG, SUM, COUNT usw.) voraus. Eine solche Funktion ist aber in Deiner Abfrage nicht enthalten.
Du stellst es ja selbst fest:
Ohne Group By ist es vorher schon gegangen.
Also entweder Du fügst eine solche Funktion zu Deiner Abfrage hinzu und kannst anschließend über GROUP BY die Gruppierung festlegen oder Du lässt alles so wie es ist.

Was wolltest/willst Du denn mit GROUP BY in Deiner Abfrage erreichen?

Gruß Barlee

Re: Probleme mit Abfrage

von Barlee » So, 03.05.2009 11:47

Hallo DerHarry,

zwei kleine Sachen:
1) korrekter Syntax wäre GROUP BY ... ORDER BY (und nicht anders herum)
2) käme es selbst durch Umstellung auf den korrekten Syntax zu einem Fehler, da Du in Deiner Abfrage keine Aggregatfunktion verwendest

>> somit entferne einfach den folgenden Teil GROUP BY "Datum" und probiere erneut.
---
Zum zweiten Teil:
Befehle wie z.B. ADD_MONTHS stehen in der HSQLDB nicht zur Verfügung. Das bieten nur "richtige" Datenbanksysteme.

Alternativ könntest Du folgendes in die WHERE Klausel übernehmen:

Code: Alles auswählen

...WHERE DATEDIFF('dd',"Datum",CURRENT_DATE) <=90
Gruß Barlee

Re: Probleme mit Abfrage

von eBayer » So, 03.05.2009 10:34

Hallo,
ich bin nicht der grosse SQL-Spezi..... aber mir fällt auf, daß Du den Bindestrich als Namensbestandteil verwendest....
Habe ich auch anfangs getan, aber ganz schnell wieder geändert.
Du mußt, falls ich mich noch recht erinnere, alles in doppelte Anführungszeichen setzen, damit es trotzdem klappt.
Gerade in zusammengebauten SQL-Statements, also wenn Du variable Werte oder Strings darin verwendest, ist die Lesbarkeit kaum mehr möglich.
Beispiel:
sSQL = "UPDATE ""Kundendatei"" SET ""Zahlung"" = " + "'x' WHERE ""Ausweis-Nr"" = '" + sAusweis + "'" (beachte: z.B. Anführungszeichen ganz am Ende " ' ")
oStatement.executeUpdate(sSQL)

Das ist ein funktionierendes SQL-Statement.....aber bei minimaler Komplexität kaum noch lesbar.

Hoffe, es hilft Dir weiter.
Gruß eBayer

Nach oben