[GELÖST] Migration: HSQLDB zu MySQL

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [GELÖST] Migration: HSQLDB zu MySQL

Re: Migration: HSQLDB zu MySQL

von geimist » Fr, 12.02.2010 14:19

Hallo Barlee,

entschuldige bitte meine späte Antwort. Deine Hilfe war goldrichtig.

Vielen Dank

Re: Migration: HSQLDB zu MySQL

von Barlee » Sa, 23.01.2010 13:00

Hallo Stephan,

mit ALIASEN an folgenden Stellen solltest Du nochmal probieren.

SELECT AVG ("t2"."DIFF_MON") AS "Mittelwert"
FROM
(
SELECT
( SELECT COUNT( * ) AS "Anz"
FROM "LOG_VIEW" AS "X"
WHERE "LOG_VIEW"."rueckgabe" > "X"."rueckgabe" AND "LOG_VIEW"."Artikel" = "X"."Artikel" ) + 1 AS "LFD",
"LOG_VIEW".*,
( DATEDIFF( ( SELECT MAX( "rueckgabe" ) AS "Max_Rueck" FROM "LOG_VIEW" AS "X"
WHERE "LOG_VIEW"."rueckgabe" > "X"."rueckgabe" AND "LOG_VIEW"."Artikel" = "X"."Artikel" ), "rueckgabe" ) / 30.5 ) AS "DIFF_MON"
FROM "LOG_VIEW" WHERE "rueckgabe" >= {D '1' }
) AS "t2"
Where "t2"."DIFF_MON" IS NOT NULL

Gruß Barlee

[GELÖST] Migration: HSQLDB zu MySQL

von geimist » Sa, 23.01.2010 12:13

Hallo Leute,

ich versuche gerade eine Base-Datenbank unter Nutzung der internen HSQLDB auf eine MySQL-DB zu migrieren, d.h. ich lagere lediglich die Tabellen aus und muss natürlich noch ein paar Anpassungen vornehmen.

Im Großen und Ganzen funktioniert es auch schon gut, aber nicht mit allem.
Es geht um eine Verleihdatenbank, und folgender Code hat in der HSQLDB die Zeitdifferenz zwischen 2 Rückgaben errechnet (Danke noch mal an Barlee - hier geht es zum Beitrag). Mit der MySQLDB kommt es zu dem Fehler: "Every derived table must have its own alias" und wenn ich das richtig verstanden habe, so fehlt mir noch ein Tabellenalias - aber ich weiß nicht wo.

Hier der Code:

Code: Alles auswählen

SELECT AVG ("DIFF_MON") FROM ( SELECT ( SELECT COUNT( * ) FROM "LOG_VIEW" AS "X" WHERE "LOG_VIEW"."rueckgabe" > "X"."rueckgabe" AND "LOG_VIEW"."Artikel" = "X"."Artikel" ) + 1 AS "LFD", "LOG_VIEW".*, ( DATEDIFF( ( SELECT MAX( "rueckgabe" ) FROM "LOG_VIEW" AS "X" WHERE "LOG_VIEW"."rueckgabe" > "X"."rueckgabe" AND "LOG_VIEW"."Artikel" = "X"."Artikel" ), "rueckgabe" ) / 30.5 ) AS "DIFF_MON" FROM "LOG_VIEW" WHERE "rueckgabe" >= {D '1' }) Where "DIFF_MON" IS NOT NULL
Danke schon mal

Nach oben