В запросеMysql подзапрос несколько результатов
SELECT artists.artist_id, images.img_id
FROM `artists`, `images`
WHERE artists.artist_id = :artist_id
AND images.artist_id = :artist_id
возвращает следующий, например:
Array
(
[0] => Array
(
[artist_id] => 80
[img_id] => 4
)
[1] => Array
(
[artist_id] => 80
[img_id] => 5
)
[2] => Array
(
[artist_id] => 80
[img_id] => 6
)
[3] => Array
(
[artist_id] => 80
[img_id] => 140
)
)
Как сделать так, чтобы он возвращал artist_id
только раз и изображения идентификаторов в отдельный массив? Я тоже пробовал INNER JOIN images ON images.artist_id = :artist_id
, но возвращает что-то подобное.
это можно сделать лучше в стороне PHP, обернув по результатам и создание нового массива для изображений, mysql - это не язык программирования. –
База данных, как правило, прямоугольная. Если вам нужно что-то другое, вам нужно сделать это самостоятельно. Обратите внимание, что часто нетрудно обрабатывать данные в формате, который у вас есть сейчас просто '. используя' ORDER BY artist_id' и 2. Вспоминая последний 'artist_id' и проводя сравнение с текущим' artist_id', чтобы узнать, вы меняете художников. –
@MKhalidJunaid это должно быть сделано в php. он не будет следовать правилам нормализации для создания структуры базы данных, такой как OP, просит о возврате данных таким образом. простой цикл в php должен работать. вот почему я поднял голову :) –