Entra

View Full Version : [mysql]autogenerare tabella da una data


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?

RaouL_BennetH
18-10-2007, 13:14
Mi scuso per l'errore del nuovo post... richiedo quindi qui:

sto tentando in tutti i modi di far funzionare quel codice in questo modo:


for(int count = 1; count <= days; ++count)
{
createTable += ",MAX(CASE WHEN ISNULL(IF(tableName.Fields='" + count + "'... AS SELECT DAYNAME('mia_data')
}