SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 13.01.2018 23:35:59

ss777
Участник
Зарегистрирован: 13.01.2018
Сообщений: 2

Разместить значения поля по другим полям в запросе SELECT

Здравствуйте, есть таблица :

name | result
A | 20
B | 35
A | 24
B | 30

Можно ли написать SELECT, который сформирует такую таблицу

name | result1 | result2
A | 20 | 24
B | 35 | 30

Неактивен

 

#2 13.01.2018 23:47:59

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Разместить значения поля по другим полям в запросе SELECT

по какому принципу определяется к result1 или result2 относится значение?
что если у  и В разное кол-во значений?

Неактивен

 

#3 14.01.2018 01:00:49

ss777
Участник
Зарегистрирован: 13.01.2018
Сообщений: 2

Re: Разместить значения поля по другим полям в запросе SELECT

vasya написал:

по какому принципу определяется к result1 или result2 относится значение?

по очередности по которой встречаются значение для A и B в исходной таблице, т.е. первое значение для А в исходной таблице должно будет относится к result1 (20 в моем примере), второе соответственно к result2
и т.д., для B аналогично

vasya написал:

что если у  и В разное кол-во значений?

Вопрос правильный, надо подумать... заменять  на 0

Неактивен

 

#4 14.01.2018 01:18:18

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Разместить значения поля по другим полям в запросе SELECT

1 без order by очередность не определена
2 если заранее не известно кол-во различных значений то одним запросом никак
можно в процедуре подготовить запрос (PREPARE) и выполнить его
https://sqlinfo.ru/forum/viewtopic.php?id=4304

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson