Czelly Geschrieben 25. November 2010 Teilen Geschrieben 25. November 2010 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) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 25. November 2010 Teilen Geschrieben 25. November 2010 (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; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
carstenj Geschrieben 25. November 2010 Teilen Geschrieben 25. November 2010 (bearbeitet) Hi, welche Typen haben die Spalten denn? Gib mal... descr zugeordnet; ...ein und poste die Ausgabe. Bearbeitet 25. November 2010 von carstenj zu langsam...:( Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Czelly Geschrieben 25. November 2010 Autor Teilen Geschrieben 25. November 2010 (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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 25. November 2010 Teilen Geschrieben 25. November 2010 Wie sieht denn die komplette Fehlermeldung aus, nach dem du den Befehl ausgeführt hast? Oracle gibt mehr aus als "Unvergleichbare Ergebnisse". Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Czelly Geschrieben 25. November 2010 Autor Teilen Geschrieben 25. November 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 25. November 2010 Teilen Geschrieben 25. November 2010 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Czelly Geschrieben 25. November 2010 Autor Teilen Geschrieben 25. November 2010 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 :-( Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Corto -sX- Geschrieben 25. November 2010 Teilen Geschrieben 25. November 2010 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'; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
carstenj Geschrieben 25. November 2010 Teilen Geschrieben 25. November 2010 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'; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Stefan87 Geschrieben 29. November 2010 Teilen Geschrieben 29. November 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.