Veröffentlicht 25. November 201014 j Hallo liebe Community, ich sitze vor einer Abfrage an eine Oracle DB und irgendwie komme ich einfach nicht weiter. Folgendes Problem: Ich habe eine Tabelle mit dem Namen "Zugeordnet"! Diese Tabelle besitzt die Kategorien "Name", "Datum" "Spielthema"! Die Kategorien sind eben mit einträgen gefüllt. Ich möchte jetzt ausgeben lassen wieviele Spielthemen dem Modell 'Krokodil', das am 22.8.2009 erbaut wurde, zugeordnet sind! Mein Lösungsansatz sieht wie folgt aus: select spielthema from zugeordnet where name = 'Krokodil' and datum = TO_DATE('22-08-2009','dd-mm-yyyy') Ich erhalte als Ergebnis lediglich ein "Unvergleichbare Ergebnisse"! Was ist daran bitte falsch? 2)
25. November 201014 j (Wer nennt eine Tabelle "zugeordnet"?) Poste mal die Ausgabe von DESC zugeordnet; Prinzipiell würde ich es so aufbauen: SELECT COUNT(*), spielthema FROM zugeordnet WHERE name = 'Krokodil' and datum = '22-08-2009' GROUP BY spielthema;
25. November 201014 j Hi, welche Typen haben die Spalten denn? Gib mal... descr zugeordnet; ...ein und poste die Ausgabe. Bearbeitet 25. November 201014 j von carstenj zu langsam...:(
25. November 201014 j (Wer nennt eine Tabelle "zugeordnet"?) Poste mal die Ausgabe von DESC zugeordnet; Prinzipiell würde ich es so aufbauen: SELECT COUNT(*), spielthema FROM zugeordnet WHERE name = 'Krokodil' and datum = '22-08-2009' GROUP BY spielthema; Hallo, danke für die Hilfe! Ich habe deinen Aufbau versucht, funktioniert allerdings nicht :-( Ich einmal 2 Screenshots für euch bezüglich dem Aufbau meiner Tabelle zugeordnet: Bild 1: Bild 2: Hoffe das hilft euch ein wenig weiter! Lg, Christoph
25. November 201014 j Wie sieht denn die komplette Fehlermeldung aus, nach dem du den Befehl ausgeführt hast? Oracle gibt mehr aus als "Unvergleichbare Ergebnisse".
25. November 201014 j Die Fehlermeldung lautet: ORA-01843: not a valid month Wüsste nicht was an der Datumseingabe falsch sein sollte. Hab es auch schon mit 22.08.2009 statt 22-08-2009 versucht! Lg
25. November 201014 j Eventuell liegt das an deinen (vom Client) NLS_DATE_FORMAT-Einstellungen. Dann sollte aber dein SELECT spielthema FROM zugeordnet WHERE name = 'Krokodil' AND datum = TO_DATE('22-08-2009', 'dd-mm-yyyy'); funktionieren. Kommt dort die selbe Oracle-Fehlermeldung?
25. November 201014 j Eventuell liegt das an deinen (vom Client) NLS_DATE_FORMAT-Einstellungen. Dann sollte aber dein SELECT spielthema FROM zugeordnet WHERE name = 'Krokodil' AND datum = TO_DATE('22-08-2009', 'dd-mm-yyyy'); funktionieren. Kommt dort die selbe Oracle-Fehlermeldung? Funktioniert aber auch nicht. Mit dem Code erhalte ich nur die Fehlermeldung: Ergebnisse unvergleichbar! Versteh die Welt bald nicht mehr! Wüsste wirklich nicht was falsch ist :-(
25. November 201014 j was macht denn ein: select TO_DATE('22-08-2009', 'dd-mm-yyyy') from dual; und vor allem ein SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER ='NLS_DATE_FORMAT'; SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER ='NLS_LANG';
25. November 201014 j Hi, was sagt denn... select * from nls_session_parameters; Probier doch mal, den Parameter anders zu setzen: alter session set nls_date_format='DD-MM-YYYY HH24:MI:SS';
29. November 201014 j Also ich würde sagen das liegt daran das du in der Tabelle das Datum in nem anderen Format hast ..... Also schlag ich dir folgenden SQL vor.... SELECT COUNT(*), spielthema FROM zugeordnet WHERE name = 'Krokodil' and to_date(datum,'yyyy-mm-dd') = to_date('2009-08-22','yyyy-mm-dd') GROUP BY spielthema; hoffe das hilft dir
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.