Задать вопрос
FitTech
@FitTech

Как получить 3 разных записи с одного поля?

Есть таблицы:
table1
id, name, type, value
1 name1 type1 1
1 name1 type2 2
1 name1 type3 3
2 name2 type2 2
3 name3 type3 3

Как мне в запросе получить данные таким образом?
id, name, type1, type2,type3
1 name1 1 2 3
2 name2 null 2 null
  • Вопрос задан
  • 181 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Flashter
@Flashter
Учусь программировать
MySQL GROUP_CONCAT() function returns a string with concatenated non-NULL value from a group.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
madmages
@madmages
Человек прямоходящий
SELECT t1.id,t1.name,t1.type AS type1,t2.type AS type2,t3.type AS type3 FROM table1 t1 LEFT JOIN table1 t2 ON t1.id=t2.id LEFT JOIN table1 t3 ON t1.id=t2.id 
UNION
SELECT t1.id,t1.name,t1.type AS type1,t2.type AS type2,t3.type AS type3 FROM table1 t3 LEFT JOIN table1 t1 ON t1.id=t2.id LEFT JOIN table1 t2 ON t1.id=t2.id
UNION
SELECT t1.id,t1.name,t1.type AS type1,t2.type AS type2,t3.type AS type3 FROM table1 t2 LEFT JOIN table1 t3 ON t1.id=t2.id LEFT JOIN table1 t1 ON t1.id=t2.id


около так
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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