Как выбрать только первое изображение из таблицы? - PullRequest
0 голосов
/ 29 января 2020

Как выбрать ВСЕ данные из первой таблицы и выбрать значок ПЕРВАЯ СТРОКА из другой таблицы, если их идентификаторы равны?

Мой запрос ((SELECT icon from pages p2 ...) не работает):

SELECT * 
FROM project p
INNER JOIN grouping g ON p.ID = g.ID
           (SELECT icon FROM pages p2 WHERE p2.ID=p.ID
            ORDER BY picture LIMIT 0, 1)
WHERE g.num ='" . $id . "'
ORDER BY g.sort ASC

icon в запросе - это нужный мне эскиз, но сама сортировка основана на столбце picture.

1 Ответ

0 голосов
/ 29 января 2020

Вы можете использовать коррелированный подзапрос:

SELECT p.*,
       (SELECT pp.icon
        FROM pages pp
        WHERE pp.ID = p.ID
        ORDER BY pp.picture
        LIMIT 0, 1
       ) as icon
FROM project p     
WHERE g.num = ?
ORDER BY g.sort ASC;

Обратите внимание, что вы должны передавать g.num в качестве параметра, а не обрабатывать строку запроса. Итак, я изменил логи c для использования заполнителя параметра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...