Slash-Zn
@Slash-Zn

Как получить массив в массиве, в одном запросе?

Здравствуйте.

Один запрос получает массив с массивами каких либо записей, например, запрос получает массив состоящий из тем форума:
id => 547,
title => Name Theme,
total_post => 703
И так далее.

А как можно выполнить запрос, чтобы в одном из значений массива темы форума был еще один массив:
id => 547,
title => Name Theme,
total_post => 703,
data => array(34, 67, 32)
Или только делать отдельный запрос для каждой записи-темы?

Спасибо.
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@rPman
Зачем?

Я надеюсь ты объединяешь в одном запросе данные изначальной таблицы и той из которой собираешь data с помощью inner (left если нужны записи с пустым data) join?

Реляционные базы данных это про буквально табличное представление данных, не подразумевающее наличие вложенных списков (в некоторых типа oracle есть такие типы но по сути это как бы отдельный запрос к серверу, да достаточно эффективный но запрос).

Если тебе нужен плохой совет, ты можешь сериализовать данные, собрав строку из них, например с разделителем ',' с помощью GROUP_CONCAT. В этом случае, используя группировку ты исключишь из результата запроса дубликаты (который умножает данные таблицы на данные data, дублируя колонки из таблицы) но потратишь время на конкатенацию на sql сервере и парсинг (для числ да простой) массива из строки на бакэнде.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы