Тема: MySql Змінні, Parameter '@j' must be defined.
В запиті використовується оголошення змінних @j та @i, тобто це не параметри якi потрібно замінити, це оголошені mysql змінні. Але MySqlCommand напевно вважає їх за параметри, тому що видає виняток Parameter '@j' must be defined.
public DataTable GetStatistics()
{
MySqlCommand mySqlCommand = new MySqlCommand();
mySqlCommand.Connection = db.mySqlConnections;
mySqlCommand.CommandText =
"SELECT count(Id_) " +
"INTO @j " +
"FROM FinancialTransaction_ " +
"WHERE KeyToRecipient_ " +
"IN(60); " +
"SET @i := 0; " +
"SELECT " +
"AVG(Sum_) " +
"FROM " +
"( " +
"SELECT " +
"@i:= @i + 1, " +
"FLOOR(@i / (@j / (6 - 1))) AS `group_id`, " +
"Sum_, " +
"Date_ " +
"FROM " +
"FinancialTransaction_ " +
"WHERE KeyToRecipient_ IN(60) " +
"ORDER BY " +
"Date_ ASC " +
") AS tab1 " +
"GROUP BY " +
"group_id;";
MySqlDataReader result = mySqlCommand.ExecuteReader();
var dt = new DataTable();
dt.Load(result);
return dt;
}
Як виконати запит записаний mySqlCommand.CommandText не використовуючи mysql функцій чи процедур ?