Fehler im SQL ...

Status
Nicht offen für weitere Antworten.

Tobias

Top Contributor
Hi,

ich habe eine (eigentlich sehr simple) Tabelle mit drei Spalten "MEMBER_ID", "COURSE_ID" und "PART_DATE":

SQL:
CREATE table APP.PARTICIPATION
(MEMBER_ID INTEGER CONSTRAINT member_fk REFERENCES MEMBERS(ID), 
COURSE_ID INTEGER CONSTRAINT course_fk REFERENCES COURSES(ID), 
PART_DATE DATE)

Aus dieser Tabelle möchte ich jetzt pro Member herauslesen, wie oft das Mitglied welchen Kurs in einem bestimmten Zeitraum besucht hat:

SQL:
SELECT COUNT(DISTINCT COURSE_ID) AS PART_COURSE, COURSE_ID, MEMBER_ID 
FROM PARTICIPATION 
WHERE PART_DATE >= ? AND PART_DATE <= ? 
GROUP BY MEMBER_ID

Die Fragezeichen werden mit den jeweiligen Anfangs- bzw Enddaten des fraglichen Zeitraums ersetzt. Leider quittiert Derby mir diese Anfrage mit folgender Exception:

ERROR 42Y36: Column reference 'COURSE_ID' is invalid, or is part of an invalid expression. For a SELECT list with a GROUP BY, the columns and expressions being selected may only contain valid grouping expressions and valid aggregate expressions.

Wie muß meine Anfrage denn dann richtig lauten? Und warum bekomme ich diesen Fehler?

mpG
Tobias
 
S

SlaterB

Gast
die Fehlermeldung sagt alles, schreibe
GROUP BY MEMBER_ID, COURSE_ID

das count() wird dann aber nicht viel zu zählen haben..
 

Tobias

Top Contributor
Das löst zwar das Problem, ist aber eigentlich nicht das, was ich haben will ...

Ich möchte ja ein ResultSet bekommen, das folgende Struktur hat:

Code:
MEMBER_ID | COURSE_ID | PART_COURSE
1           10           6
2            3          15
...

Zur Not kann ich mir die Spalte PART_COURSE natürlich "per Hand" ausrechnen, aber so richtig gut erscheint mir das nicht.
 
S

SlaterB

Gast
falls da eine Frage dabei war müsstest du mir erst erklären, worum es geht,
wenn man nach COURSE_ID gruppiert, also eine spezielle COURSE_ID = 10 betrachtet, was soll dann der Count zählen?
es gibt nicht mehrere COURSE_ID für genau eine COURSE_ID = 10 ;)

vielleicht
COUNT(*)
?
 

Tobias

Top Contributor
In der Tabelle stehen folgende Daten:

MEMBER_ID <- Id des Mitglieds
COURSE_ID <- Id des Kurses
PART_DATE <- Datum, an dem das entsprechende Mitglied den entsprechenden Kurs besucht hat

Mitglieder besuchen einen Kurs in der Regel mehrfach (an unterschiedlichen Tagen), ein Mitglied (MEMBER_ID sei 1) war zum Beispiel am Mittwoch der Kalenderwoche 1 und am Mittwoch der KW 2 im Kurs "Mathematik" (COURSE_ID sei 3).

Dann soll meine Abfrage ergeben: Mitglied 1 hat Kurs 3 zweimal besucht. Letztlich geht es um einen Bericht für den Kursleiter, damit der bei der Prüfung schauen kann, wieviele Fehlzeiten die einzelnen Mitglieder haben.
 
S

SlaterB

Gast
wie gesagt:
COUNT(*)

du willst die Anzahl der Teilnahmen = Einträge in PARTICIPATION zählen,
nicht die Anzahl der COURSE_ID denn die kann ja nur 1 sein, wenn du nach COURSE_ID gruppierst
 

Tobias

Top Contributor
Nein, ich möchte feststellen, wie oft eine bestimmte Kombination von MEMBER_ID und COURSE_ID vorkommt, die Spalte PART_DATE wird dabei nur als Selektionskriterium benutzt.
 
S

SlaterB

Gast
vertraue mir, davon spreche ich auch ;)

SELECT COUNT(*) AS PART_COURSE, COURSE_ID, MEMBER_ID
FROM PARTICIPATION
WHERE PART_DATE >= ? AND PART_DATE <= ?
GROUP BY MEMBER_ID, COURSE_ID


probier es doch erstmal aus und vergleiche es mit den Rohdaten
 

Tobias

Top Contributor
Naja, den Vergleich hatte ich schon gemacht - allerdings zu flüchtig. Meine Rohdaten (bzw meine Interpretation davon) war verkehrt, nicht dein Query. Vielen Dank!!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Cast-Fehler: Spring Data exists.... boolean??? Datenbankprogrammierung 1
T compiler fehler: should be mapped with insert="false" update="false" Datenbankprogrammierung 1
O Create Table per JDBC Fehler: ORA-00922 Datenbankprogrammierung 4
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
S MySQL Hibernate: Fehler bei Verwendung von 2 unterschiedlichen Enumration Datenbankprogrammierung 3
S @OneToMany @JoinTable failed to lazily initialize a collection Fehler Datenbankprogrammierung 2
C Oracle Fehler beim list.add() Datenbankprogrammierung 5
das_leon MySQL Fehler bei der Zeitzone Datenbankprogrammierung 7
M SQL-Statement SQL mit Java, Update Fehler Datenbankprogrammierung 1
L MySQL Bekomme einen Fehler beim ResultSet Datenbankprogrammierung 12
DaCrazyJavaExpert Derby/JavaDB Unfindbarer Fehler im Datenbank-Code Datenbankprogrammierung 87
L SQL Fehler (Table/View does not exist) Datenbankprogrammierung 17
P MySQL JPA / MySQL - Fehler bei type=innoDB Datenbankprogrammierung 8
Thallius MySQL Wo ist der Fehler in dem Query? Datenbankprogrammierung 2
B JPA->fehler beim Insert in die Datenbank Datenbankprogrammierung 3
V Fehler beim Generierung Fehler beim Generierung java.lang.ArrayIndexOutOfBoundsException: 0 Datenbankprogrammierung 12
M MySQL-Syntax-Fehler Datenbankprogrammierung 1
H HSQLDB Beim öffnen folgender Fehler: ... java.lang.NullPointerException Datenbankprogrammierung 1
Z Finde den Fehler: Daten aus einer Access-Datenbank lesen Datenbankprogrammierung 12
W Jackcess Fehler Datenbankprogrammierung 1
I Fehler bei Ausgabe der Daten aus der DB Datenbankprogrammierung 3
J SQL-Statement Meine insert befehle funktionieren nicht und ich weiß nicht wo der fehler liegt Datenbankprogrammierung 5
serjoscha MySQL Eine Instanz von eigenem DBWrapper -> Fehler durch mehrfachbenutzung möglich? Datenbankprogrammierung 2
M Wo ist mein Fehler ? o: Datenbankprogrammierung 4
C H2 Syntax fehler beim erstellen einer Tabelle Datenbankprogrammierung 4
T JDBC Fehler Datenbankprogrammierung 2
Neumi5694 Java + MS Access + 64 Bit = Fehler -1073740777 Datenbankprogrammierung 2
T Fehler beim ausgeben von Tabellen Inhalt Datenbankprogrammierung 9
R Fehler 2601 trotz SQL-UPDATE ? Datenbankprogrammierung 2
B JDBC Connection Fehler Datenbankprogrammierung 8
J Fehler bei mySQL Query Datenbankprogrammierung 19
D Oracle PLSQL Block Fehler Datenbankprogrammierung 11
P SQL-Statement Bei meinem Statement ist ein Fehler? Datenbankprogrammierung 2
S Fehler mit JdbcRowSet Datenbankprogrammierung 2
A Oracle Unbekannter Fehler bei insert Befehl Datenbankprogrammierung 3
B MySQL Fehler: Cannot open connection mit Tomcat7, Hibernate und MySQL Datenbankprogrammierung 4
M PL/SQL Fehler "Kein Wert zurückgegeben" Datenbankprogrammierung 4
S 2 Tabellen zu einer zusammenführen, INSERT INTO Fehler Datenbankprogrammierung 5
Crashbreaker MySQL MySQL - Hibernate gibt Fehler aus Datenbankprogrammierung 25
M Access Update Statement Fehler update -> unmöglich? Datenbankprogrammierung 3
I Derby/JavaDB Update Fehler Datenbankprogrammierung 4
N Update Prepared Statement Fehler bei Argumenten Datenbankprogrammierung 3
D JDBC Fehler beim laden der nativen Bibliothek db2jcct2 Datenbankprogrammierung 9
N Oracle Fehler Ungültiges Zeichen Datenbankprogrammierung 2
jgh Zeichensatz-Fehler Datenbankprogrammierung 10
L Derby/JavaDB Fehler beim Erstellen einer Tabelle Datenbankprogrammierung 2
F hsqldb Fehler - unknown source Datenbankprogrammierung 11
E Fehler- Komme nicht auf Datenbank Datenbankprogrammierung 13
trash ResultSet Syntax Fehler Datenbankprogrammierung 11
trash JDBC Einbinden Fehler Datenbankprogrammierung 9
B Fehler in Stored Procedure Datenbankprogrammierung 7
E [ACCESS ODBC] INSERT INTO Fehler Datenbankprogrammierung 4
E Nach Server wechsel Datenbank fehler ?!? Datenbankprogrammierung 3
H Fehler bei null-Datum in MySQL-DB Datenbankprogrammierung 2
B SQL - Ich kann die Fehler nicht finden Datenbankprogrammierung 3
K DB2 Insert mit Subselect Fehler Datenbankprogrammierung 2
M Update mysql Fehler ?? Datenbankprogrammierung 4
J Fehler bei Hibernate Configuration Datenbankprogrammierung 9
N group by fehler Datenbankprogrammierung 4
P SQL Fehler helft mir bitte Datenbankprogrammierung 12
F Fehler bei Stored Function Datenbankprogrammierung 2
S Fehler beim Auslesen von Daten Datenbankprogrammierung 6
C Wo ist der Fehler? Datenbankprogrammierung 5
H Fehler mit ". Microsoft Access Driver" Datenbankprogrammierung 12
K Fehler bei Rückgabewerten Datenbankprogrammierung 3
M Statemend Fehler Datenbankprogrammierung 11
H Beim insert bekomme ich den Fehler missing select keyword Datenbankprogrammierung 2
E Seltsamer Fehler Datenbankprogrammierung 10
T Fehler bei Verbindungsaufbau zu MySql DB Datenbankprogrammierung 4
S Fehler bei DB Verbindung Access Datenbankprogrammierung 6
A JDBC-Fehler "Objekt bereits geschlossen" Datenbankprogrammierung 4
O SQL-Query bringt Fehler Datenbankprogrammierung 4
B MySql DELETE Anweisung gibt Fehler zurück Datenbankprogrammierung 7
A Fehler beim Starten des Servers für H2 Database Datenbankprogrammierung 13
A Fehler in der HSQLDB Datenbankprogrammierung 6
B fehler bei select befehl Datenbankprogrammierung 5
G SQL fehler -> woran liegt das? Datenbankprogrammierung 3
M Odbc und Fehler Datenbankprogrammierung 44
M Fehler bei der Verbindung zu einer MSSQL/Express Datenbank! Datenbankprogrammierung 17
D mySQL emullierte PreparedStatements haben Fehler unter Last Datenbankprogrammierung 3
F Fehler in Suns FilteredRowSet Implementierung? Datenbankprogrammierung 11
R Fehler in der Eingabe? Datenbankprogrammierung 3
J Fehler bei Oracle-Datenbankverbindung Datenbankprogrammierung 2
E JDBC Oracle Fehler, zugriff auf datenbank (Cluster) Datenbankprogrammierung 5
P Fehler: result-set zeigt auf null, aber warum Datenbankprogrammierung 4
G Fehler in der select-Abfrage Datenbankprogrammierung 3
G Fehler beim Verbinden Datenbankprogrammierung 4
D Primary-Key -> Fehler: "Unique constraint violation& Datenbankprogrammierung 12
E Fehler in der SQL-Anweisung Datenbankprogrammierung 11
A Fehler in der Datenbankklasse Datenbankprogrammierung 14
M insert befehl funzt nicht!wo ist der fehler? Datenbankprogrammierung 5
N Fehler beim matchen von Strings via Query Datenbankprogrammierung 2
L komischer Fehler von ResultSet. Datenbankprogrammierung 2
R Fehler in Datenbankanbindung Servlet -> Access Datenbankprogrammierung 5
E Fehler bei String-Insert in MySQL-DB Datenbankprogrammierung 8
G Wo ist hier der Fehler (createStatement) Datenbankprogrammierung 2
M executeBatch() - Inserts trotz Fehler weitermachen Datenbankprogrammierung 5
W Fehler bei Insert Anweisung obwohl getestet Datenbankprogrammierung 3
J Fehler beim PreparedStatement Datenbankprogrammierung 2
H Java/Access - Fehler bei der Parameterübergbe Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben