powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка значений из одной таблицы по отсутсвию записей во второй.
6 сообщений из 6, страница 1 из 1
Выборка значений из одной таблицы по отсутсвию записей во второй.
    #38390906
Tam_tam_tam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению, не смог придумать более корреткной формулировки, которая входила бы в поле Темы.

Описание проблемы:

Существуют две таблицы A и B, в первой хранятся объекты, а во второй состояния объектов, рпи это у одного объекта может быть несоклько состояний. Например

ID OBJECT1 Объект12 Объект23 Объект34 Объект4
ID OBJECT_ID CONDITION11Состояние121Состояние231Состояние342Состояние252Состояние363Состояние274Состояние3

Набор состояний в которых может находится объект задан заранее и ограничен (всего существует порядка 5 различных состояний). Как сделать выборку объектов по состояниям в которых он должен находится, при улсовии что он не должен находится более ни в каких других состояниях? Т.е. если я хочу выбрать объекты с Состоянием2, то получу Объект3, но не Объект2, так как он находится так же и в Состоянии3. Если я хочу получить объекты в Состояниях 2 и 3, то получу Объект2, Объект3 и Объект4, но не Объект1, так как у него существует Состояние1.

Какой наиболее оптимальный запрос здесь можно использовать?
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы по отсутсвию записей во второй.
    #38390920
not exists тебе в помощь
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы по отсутсвию записей во второй.
    #38391018
Tam_tam_tam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, это действительно то, что мне нужно было. Хотя через DBIx::SearchBuilder это будет реализовать несколько геморно, так что если появятся еще враианты, буду благодарен
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы по отсутсвию записей во второй.
    #38391035
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
См. FAQ по выбору первого/последнего в группе. Тебе собсно и надо последнее состояние (видимо, при сортировке по B.ID).
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы по отсутсвию записей во второй.
    #38391057
Tam_tam_tam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению, по существованию одного состояния я не могу определить существование/не существование других, иначе все было бы несколько проще
...
Рейтинг: 0 / 0
Выборка значений из одной таблицы по отсутсвию записей во второй.
    #38391094
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. порядок не при делах, просто наличие? ну вот какой-нить такой бред...
Код: sql
1.
2.
3.
4.
SELECT object_id
FROM table2
GROUP BY object_id
HAVING COUNT(condition) = SUM(condition IN ('Состояние2', 'Состояние3'))
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка значений из одной таблицы по отсутсвию записей во второй.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]