RaouL_BennetH
18-10-2007, 11:50
Ciao a tutti :)
Ci sarebbe il modo di fare quanto segue ?
Avendo una data (per esempio anno e mese), creare una tabella che abbia come numero e nome di colonne il numero e il nome dei giorni presenti nel mese (in questo caso 31) ?
Al momento io genero una tabella da un programma esterno in C#, ma ho difficoltà poi a gestire delle stampe.
per esempio:
int days = Thread.CurrentThread.CurrentCulture.Calendar.GetDaysInMonth(myYear, myMonth);
string createTable = "DROP TABLE IF EXISTS " + myTableName + "; " +
"CREATE TABLE " + myTableName + " AS SELECT alcuneCose ";
for(int count = 1; count <= days; ++count)
{
createTable += ",MAX(CASE WHEN ISNULL(IF(tableName.Fields='" + count + "'... AS 'D" + count + "' ";
}
In questo modo, io ottengo il numero dei giorni presenti nel mese da me scelto, e creo una tabella in mysql dove le colonne saranno quindi numerate da 1 a 31(se il mese ha 31 giorni), precedute da una "D" (che sta per Day....)
C'è modo di fare la stessa cosa direttamente da MySql?
Ci sarebbe il modo di fare quanto segue ?
Avendo una data (per esempio anno e mese), creare una tabella che abbia come numero e nome di colonne il numero e il nome dei giorni presenti nel mese (in questo caso 31) ?
Al momento io genero una tabella da un programma esterno in C#, ma ho difficoltà poi a gestire delle stampe.
per esempio:
int days = Thread.CurrentThread.CurrentCulture.Calendar.GetDaysInMonth(myYear, myMonth);
string createTable = "DROP TABLE IF EXISTS " + myTableName + "; " +
"CREATE TABLE " + myTableName + " AS SELECT alcuneCose ";
for(int count = 1; count <= days; ++count)
{
createTable += ",MAX(CASE WHEN ISNULL(IF(tableName.Fields='" + count + "'... AS 'D" + count + "' ";
}
In questo modo, io ottengo il numero dei giorni presenti nel mese da me scelto, e creo una tabella in mysql dove le colonne saranno quindi numerate da 1 a 31(se il mese ha 31 giorni), precedute da una "D" (che sta per Day....)
C'è modo di fare la stessa cosa direttamente da MySql?