Servus, zusammen!
Ich habe in meiner DB Tabellen, deren Namen das Jahr sind, deren Daten sie beinhalten.
Wenn ich nun eine Abfrage setzen möchte, die die Tabelle des aktuellen Jahres trifft, wollte ich das so machen:
SET @Jahr = year(curtime());
SET @s = CONCAT('select * from ',@Jahr);
PREPARE stmt FROM @s;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
Das wird mir von MYSQL mit einem Syntaxfehler quittiert.
Wenn ich zur Probe dies laufen lasse:
SET @Jahr = year(curtime());
SET @s = CONCAT('select * from ',@Jahr);
SELECT @s;
bekomme ich genau meinen Select string 'Select * from 2017' zu sehen, den ich brauche
Daraus müsste der Prepare doch was Vernünftiges basteln können oder?
Vielleicht hat irgendjemand eine gute Idee...?
Vielen nachweihnachtlichen Dank!
Martin
Ich habe in meiner DB Tabellen, deren Namen das Jahr sind, deren Daten sie beinhalten.
Wenn ich nun eine Abfrage setzen möchte, die die Tabelle des aktuellen Jahres trifft, wollte ich das so machen:
SET @Jahr = year(curtime());
SET @s = CONCAT('select * from ',@Jahr);
PREPARE stmt FROM @s;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
Das wird mir von MYSQL mit einem Syntaxfehler quittiert.
Wenn ich zur Probe dies laufen lasse:
SET @Jahr = year(curtime());
SET @s = CONCAT('select * from ',@Jahr);
SELECT @s;
bekomme ich genau meinen Select string 'Select * from 2017' zu sehen, den ich brauche
Daraus müsste der Prepare doch was Vernünftiges basteln können oder?
Vielleicht hat irgendjemand eine gute Idee...?
Vielen nachweihnachtlichen Dank!
Martin