Всем доброго времени суток. Я работаю с MySql не давно по этому не судите строго.
Такая проблема, нужно взять одну линию строк целиком из одной таблицы при определенных условиях ниже пример.
Таблица MySql:
id | name | surename
1 | Vlad | Cepesh
2 | Vova | Takov
Меня интересует вопрос как получить все 3 строчки при соответствии только одного значения name и разложить их либо по переменным либо в список а именно например:
id = 2; name = Vova; surename = Takov
Данный вопрос решается таким способом:
SELECT id FROM names WHERE name = @val; // Получаем id
SELECT name FROM names WHERE name = @val; // Получаем name
SELECT surename FROM names WHERE name = @val; // Получаем surename
Проблема данного метода в том что мы имеем 3 запроса, а хотелось бы вложится в один запрос.
Пример C# кода:
string Query = "SELECT id, names, surename FROM names WHERE name = @val;";
command = new MySqlCommand(Query, conn);
command.Parameters.AddWithValue("@val", "Vova");
MySqlDataReader reader = command.ExecuteReader();
if(reader.HasRows)
{
while(reader.Read())
{
Console.WriteLine(reader.GetString("Сюда идет номер результата по счету в формате int следовательно можно по очередно разложить как надо"));
}
}
Код указанный выше читает все 3 столбца так как нужно, проблема в чтении одним запросом всех значений в одной линии решена.
Благодарю
Иван за то что ткнул носом в мануал.