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
Probleme mit Abfrage
Moderator: Moderatoren
Re: Probleme mit Abfrage
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Re: Probleme mit Abfrage
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:
Gruß Barlee
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
Re: Probleme mit Abfrage
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.das mit der Aggregatfunktion habe ich nicht kapiert wie soll das gehen?
Du stellst es ja selbst fest:
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.Ohne Group By ist es vorher schon gegangen.
Was wolltest/willst Du denn mit GROUP BY in Deiner Abfrage erreichen?
Gruß Barlee
Re: Probleme mit Abfrage
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
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