AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Fehlerhafte SQL Anweisung mit GROUP BY ????
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlerhafte SQL Anweisung mit GROUP BY ????

Ein Thema von Robert_S6 · begonnen am 20. Jul 2006 · letzter Beitrag vom 20. Jul 2006
Antwort Antwort
Robert_S6

Registriert seit: 16. Jul 2006
Ort: Künzelsau
5 Beiträge
 
Delphi 7 Enterprise
 
#1

Fehlerhafte SQL Anweisung mit GROUP BY ????

  Alt 20. Jul 2006, 01:13
Datenbank: Paradox • Version: 7 • Zugriff über: SQL
Hallo Leute,

ich habe mal wieder ein SQL-Problem. Sonderbar ist nur, dass das Problem nicht permanent auftritt sondern nach irgend einem Zufallsprinzip.
Ich bekomme immer folgend Fehlermeldung:
Invalid use of keyword.
Token: GROUP
Line Number: 9.

Meine SQL-Anweisung sieht wie folgt aus:

SQL-Code:
SELECT wdh_d_s, COUNT(wdh_d_s) FROM Vokabeln, RS69
Where Vokabeln.id = RS69.ID_Vokabeln
AND wortart1 IN ("1")
AND worteinteilung1 IN ("6","14")
AND geschlecht1 IN ("2")
AND singular__plural1 IN ("1")
AND unidad IN ("37")
GROUP BY wdh_d_s
Also wenn ich die Zeilen manuell zähle, komme ich nur auf 8, ich weiß absolut nicht, woher der Fehler kommt!?

Kann mir jemand weiterhelfen?

Vielen Dank für eure Antworten!
Erstens kommt es anderes, zweitens als Man(n) denkt!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Fehlerhafte SQL Anweisung mit GROUP BY ????

  Alt 20. Jul 2006, 05:27
Wie sieht die Struktur der Datenbank aus? Welche der felder gehören zur welcher Tabelle?
Markus Kinzler
  Mit Zitat antworten Zitat
Robert_S6

Registriert seit: 16. Jul 2006
Ort: Künzelsau
5 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Fehlerhafte SQL Anweisung mit GROUP BY ????

  Alt 20. Jul 2006, 06:40
Also "Vokabeln" ist mein Hauptdatenbank, hier sind alle Vokabeln + Eigenschaften hinterlegt, also Wortart, Worteinteilung, Geschlecht, singular/plural, Lektion (alle über ID aus den entsprechenden Auswahldatenbanken).
Die "RS69" ist meine User spezifische Datenbank, sie ist über die ID's mit der Vokabel-DB verknüpft. Hier werden die Daten gespeichert, welche Vokabeln der User bereits gelernt hat und wie viele Versuche er dazu brauchte (wdh_d_s bzw wdh_s_d, je nachdem in welcher Richtung er gerade lernt).
Erstens kommt es anderes, zweitens als Man(n) denkt!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Fehlerhafte SQL Anweisung mit GROUP BY ????

  Alt 20. Jul 2006, 06:55
Hallo Robert,

Zitat von Robert_S6:
Sonderbar ist nur, dass das Problem nicht permanent auftritt sondern nach irgend einem Zufallsprinzip.
viel interessanter als das SELECT-Statement, welches du ausführen möchtest, ist das Statement, welches wirklich zur Ausführung kommt. Dazu solltest du deine Abfrage in einen try-except Block verpacken und das Statement im Ausnahmefall per Haltepunkt abgreifen. Ich erwarte, dass dann ein fehlerhaftes Statement zu sehen sein wird.

Übrigens kannst du in deiner Aggregat-Funktion ruhig den ALL-Selektor verwenden:

SELECT wdh_d_s, COUNT(*) FROM Vokabeln, RS69 Vielleicht sind dir einfach keine guten Spaltennamen eingefallen? "geschlecht1" könnte "GENUS" sein, "singular_plural1" wäre bei mir "NUMERUS", "wortart1" entspräche "TYPUS" und "worteinteilung1" riecht nach "KATEGORIE". Fremdsprachige Spaltennamen würde ich vermeiden.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Robert_S6

Registriert seit: 16. Jul 2006
Ort: Künzelsau
5 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Fehlerhafte SQL Anweisung mit GROUP BY ????

  Alt 20. Jul 2006, 07:33
Hallo Leute,

vielen Dank für eure Antworten, manchmal liegt die Tücke im Detail, ich habe eine If-then-else Anweisung vorzeitig abgeschlossen, so ungefähr nach einem Drittel den Programmdurchlaufs. Jetzt hat er, weil ich die Zeile mit Group By erst ganz am Schluß außerhalb irgendwelcher Blockanweisungen definiere, jedes mal Group by anfügen wollen, sodass ich in Zeile 8 + 9 die gleiche Anweisung stehen hatte.
Ich habe den Unsinn zwar schon vor nem halben Jahr so falsch programmiert, aber bislang hat's halt ohne Probleme funktioniert.

Tztztztz.

@ Marabu:
Sehr wahrscheinlich hast du recht, mir sind keine wirklich guten Spaltennamen eingefallen, aber sind Numerus, Genus... nicht auch irgendwie Fremdwörter (Latein liegt mir überhaupt nicht, ich kämpfe schon mit Englisch und Spanisch)?
Erstens kommt es anderes, zweitens als Man(n) denkt!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Fehlerhafte SQL Anweisung mit GROUP BY ????

  Alt 20. Jul 2006, 07:45
Zitat von Robert_S6:
sind Numerus, Genus... nicht auch irgendwie Fremdwörter (Latein liegt mir überhaupt nicht)?
Ich glaube sogar Germanisten verwenden diese lateinischen Begriffe, aber solange du der einzige bist der die Spaltennamen zu sehen bekommt, kannst du ja nehmen was dir liegt. Auf jeden Fall ist die Namensfindung oft eine sehr schwierige Sache.

marabu
  Mit Zitat antworten Zitat
Robert_S6

Registriert seit: 16. Jul 2006
Ort: Künzelsau
5 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Fehlerhafte SQL Anweisung mit GROUP BY ????

  Alt 20. Jul 2006, 08:41
Ich kann mich deiner Meinung nur anschließen, zum Glück bekommt außer mir keiner die Spaltennamen zu sehen, aber vielen Dank für die Tipps, werde sie beherzigen!
Erstens kommt es anderes, zweitens als Man(n) denkt!
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:35 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