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

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

Привет

Представим, что есть стена с записями и у каждой записи есть комментарии.
Нужно получить записи и комментарии вместе.

Записи хранятся, например, так:
id owner_id text
---------------------------
1 1 текст_записи1
2 1 текст_записи2
3 1 текст_записи3

Комментарии вот так:
id wall_id owner_id text
------------------------------
1 1 1 комментарий_1
2 2 1 комментарий_2
3 1 1 комментарий_3

На выходе нужно получить массив записей, вроде
[
  {
    "id": 1,
    "owner_id": 1,
    "text": "текст_записи_1",
    "comments": [
    	{
    		"id": 1,
    		"owner_id": 1,
    		"text": "комментарий_1"
    	},
    	{
    		"id": 3,
    		"owner_id": 1,
    		"text": "комментарий_3"
    	},
    ]
  },
  {
    "id": 2,
    "owner_id": 1,
    "text": "текст_записи_2",
    "comments": [
    	{
    		"id": 2,
    		"owner_id": 1,
    		"text": "комментарий_2"
    	}
    ]
  },
  {
    "id": 3,
    "owner_id": 1,
    "text": "текст_записи_3",
    "comments": []
  }
]


Есть какое-то оптимальное и быстрое решение?
Делать два запроса, а потом объединять?
  • Вопрос задан
  • 2882 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
evnuh
@evnuh
Поиск Гугл помог мне, впусти и ты его в свой дом
Эх, мало читаете, господа. MySql - реляционная СУБД. Дальше сами должны понять ответ на свой вопрос.
Ответ написан
@Masterme
> Есть какое-то оптимальное и быстрое решение?
> Делать два запроса, а потом объединять?

Да, делать к СУБД 2 запроса, один для записей, другой для комментариев, а в коде их логически связывать.
Ответ написан
Ваш ответ на вопрос

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

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