SQL mit Group by

selim

Aktives Mitglied
Hallo zusammen,

ich versuche hier diese SQL laufen zu lassen aber bekomme bei der Ausgabe einen Fehler: Column not found

Es wird bestimmt an meiner MAX(DATUM) liegen, jetzt meine Frage wie kann ich diese Feld ausgeben?


[sql]
select H3SIT, H3DEP, H3NCOM, H3FETA, H3FETA2, Max(H3XFETA), H3TIM
FROM TH3HOR01P
WHERE H3SIT='HH' AND H3DEP='MOTEC' AND H3FETA2= '6'
GROUP BY H3SIT, H3DEP, H3ncom, H3FETA, H3FETA2, H3TIM
[/sql]


Java:
String sqlQuery = "select H3SIT, H3DEP, H3NCOM, H3FETA, H3FETA2, Max(H3XFETA), H3TIM FROM TH3HOR01P  WHERE H3SIT='HH' AND H3DEP='MOTEC' AND H3FETA2= '6' GROUP BY H3SIT, H3DEP, H3ncom, H3FETA, H3FETA2, H3TIM";

ResultSet rSet = stmt.executeQuery(sqlQuery);
	while (rSet.next())

list.add(rSet.getString("H3SIT")+"|"+rSet.getString("H3DEP")+"|"+rSet.getString("H3NCOM")+"|"+rSet.getString("H3XFETA")+"|"+rSet.getString("H3TIM")+"|");

Danke euch schon mal.
 
Zuletzt bearbeitet von einem Moderator:

Evil-Devil

Top Contributor
Gibt dir dein DBMS keine genauere Fehlermeldung aus? Column not found ist für uns Außenstehende die nicht wissen wie deine Tabelle aufgebaut ist sehr schwierig zu lösen ;)

[tipp]Deinen SQL Code kannst du übrigens in SQL Tags packen, dann wird der schön formatiert.[/tipp]
 
S

SlaterB

Gast
mehr steht nicht in der Fehlermeldung?
deine Vermutungen kannst du vielleicht in Wissen umwandeln, wenn du in deiner Query
all die kryptischen Column-Angaben einzeln wegläßt,
oder bei zu vermutenden mehreren Fehlern lieber andersum anfängst:

Code:
select * from TH3HOR01P
ist die erste Query die funktionieren sollte, sonst eh Ärger,
danach Schritt für Schritt einzelne Attribute abfragen, danach vielleicht das WHERE einfügen, jede Bedingung Schritt für Schritt,
danach die Gruppierung Schritt für Schritt, alles zu schaffen ;)

du könntest auch die Tabellendefinition oder sonstige Hinweise posten,
falls andere überprüfen sollen ob du einen Tippfehler bei den Column-Namen hast ;)

edit:
ok, die Query läuft, der Fehler kommt sicher erst beim Durchlauf des ResultSets?,
schau in den Metadaten welchen Spaltennamen das Max bekommt, oder verwende SQL-Bennennung a la
[c]Max(H3XFETA) as xy [/c]
 
Zuletzt bearbeitet von einem Moderator:

selim

Aktives Mitglied
Evil-Devil Danke das wusste ich nicht mit SQL-TAGS!

SlaterB dir 1000 x Danke mit
SQL:
 Max(H3XFETA) as xy
hat es funktioniert!!!
 

Ähnliche Java Themen

Neue Themen


Oben