Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц, летом дешевле!

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2023, 16:43   #1
konsa
Новичок
Джуниор
 
Регистрация: 11.01.2023
Сообщений: 2
По умолчанию Проблема с вложенными запросами

Доброго времени, форумчане!
Перелопатив кучу инфы обращаюсь за помощью к вам
Есть таблица monitoring_fix
В ней 6 полей: id, booking_num, class, status, oper_time, operator_id, где
booking_num - номер заявки,
class - выполняемый класс,
status - статус выполнения класса,
oper_time - время отметки,
operator_id - исполнитель.
Мне нужно составить запрос так, чтобы выбирались все записи и в каждой заявке отображались все принадлежащие ей классы, но выбирались по последнему времени отметки.

Пробовал GROUP ID вместе с HAVING, пробовал запросы вроде SELECT * FROM monitoring_fix WHERE (SELECT class FROM monitoring_fix IN(или WHERE) MAX(oper_time); В общем попробовал много всего, но везде выдает только одну строку с максимальным значением времени.

Помогите разобраться. Заранее спасибо
Изображения
Тип файла: jpg Screen1.jpg (101.2 Кб, 0 просмотров)
konsa вне форума Ответить с цитированием
Старый 12.01.2023, 09:05   #2
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 349
По умолчанию

Код:
SELECT * 
FROM `monitoring_fix`
RIGHT JOIN (SELECT MAX(`id`) AS `id` FROM `monitoring_fix` GROUP BY `class`, `booking_num`) USING(`id`)
это с учётом того если oper_time - это временная метка вставки строки в БД
Valick на форуме Ответить с цитированием
Старый 12.01.2023, 11:31   #3
konsa
Новичок
Джуниор
 
Регистрация: 11.01.2023
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Valick Посмотреть сообщение
Код:
SELECT * 
FROM `monitoring_fix`
RIGHT JOIN (SELECT MAX(`id`) AS `id` FROM `monitoring_fix` GROUP BY `class`, `booking_num`) USING(`id`)
это с учётом того если oper_time - это временная метка вставки строки в БД
Не получилось:-(
Ошибку выдало #1248 - Every derived table must have its own alias. Если честно, я не понял про псевдонимы у подзапросов
konsa вне форума Ответить с цитированием
Старый 12.01.2023, 11:38   #4
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 349
По умолчанию

konsa, обзови как нибудь вложенный запрос

Код:
(SELECT MAX(`id`) AS `id` FROM `monitoring_fix` GROUP BY `class`, `booking_num`) AS `max`
Valick на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц, летом дешевле!

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с запросами haitkulova Microsoft Office Access 0 10.05.2015 19:42
Проблема с вложенными свойствами magnuz C# (си шарп) 0 29.08.2013 23:16
Проблема с запросами! thooog Microsoft Office Access 0 20.05.2013 21:03
Проблема с вложенными TComponent giaour Компоненты Delphi 0 03.07.2011 23:12
Проблема с вложенными записями Tesmont Общие вопросы C/C++ 4 12.05.2009 23:02