SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 10.06.2022 21:37:00

biryukovm
Участник
Зарегистрирован: 27.04.2017
Сообщений: 18

Получить JOIN данные с MAX(id)

Здравствуйте
Имеются 2 таблицы, и надо из одной таблицы достать последнюю запись

Вот пример моего кода но он не работает ((  выдает пустое значение JOIN, а если убрать MAX(id) то данные получаю не верные то-есть не последнюю запись

SELECT *
FROM shop as x1

LEFT JOIN (
    SELECT MAX(id) as id_max,nazvanie,tip,id_shop
    FROM price as xj1
) xj ON xj.nazvanie = x1.nazvanie AND xj.tip='sale' AND xj.id_shop=x1.id

WHERE x1.pokaz=1 AND x1.select=1 AND x1.nazvanie='***'


Подскажите как корректно сделать запрос JOIN

Неактивен

 

#2 10.06.2022 21:48:10

biryukovm
Участник
Зарегистрирован: 27.04.2017
Сообщений: 18

Re: Получить JOIN данные с MAX(id)

Вроде нашел решение
Подскажите верно ли собран запрос ?

SELECT *
FROM shop as x1

LEFT JOIN price x2 ON x2.nazvanie = x1.nazvanie and x2.id = (SELECT MAX(id) FROM price WHERE nazvanie = x1.nazvanie AND tip='sale' AND id_shop=x1.id)

WHERE x1.pokaz=1 AND x1.select=1 AND x1.nazvanie='***'

Неактивен

 

#3 11.06.2022 00:20:54

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5788

Re: Получить JOIN данные с MAX(id)

Если работает верно, то верно.
Не имея исходных таблиц, тестовых данных и желаемого результата на этих данных - сложно дать иной ответ.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson