Это мой запрос, чтобы получить информацию о модели из одной таблицы и одного изображения из другой таблицы. Какие изменения я должен внести в этот запрос, чтобы получить изображение, где ORDER BY сортирует DESC? В таблице изображений есть поле под названием «sort». Значение по умолчанию для поля для каждой строки равно 0. Но одна случайная строка имеет значение 1. Я хочу получить эту конкретную строку. Однако я не хочу использовать WHERE sort = 1, потому что тогда даже в случае, когда ни одна строка не имеет значение сортировки 1, одна строка все равно должна быть извлечена.php mysql inner join - получить определенную строку
$sql="SELECT tc.id,tc.alias,tc.firstname,tci.imagename
FROM ".$pre."models tc
INNER JOIN ".$pre."model_images tci ON tc.id=tci.userid
WHERE activated=1 AND sex=$sex AND city=$city AND published=1
GROUP BY tc.id ORDER BY firstname ASC";
Заранее спасибо!
решаемые с помощью:
SELECT tc.id,tc.alias,tc.firstname,
(SELECT imagename FROM ".$pre."model_images WHERE userid= tc.id
ORDER BY sort DESC LIMIT 1) AS imagename
FROM ".$pre."models tc
WHERE tc.activated=1 AND tc.sex=1 AND tc.city=2 AND tc.published=1
ORDER BY tc.firstname ASC
'WHERE sort = 1' –
Вопрос обновлен. Извините за путаницу. – salmanhijazi
'ORDER BY сортировать DESC, имя ASC'? – billyonecan