Harardin
@Harardin

Как выбрать все строки в одной линии одним MySql запросом?

Всем доброго времени суток. Я работаю с 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 столбца так как нужно, проблема в чтении одним запросом всех значений в одной линии решена.

Благодарю Иван за то что ткнул носом в мануал.
  • Вопрос задан
  • 157 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы