powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как быстро проверить существование записи в другой таблице в выборке
3 сообщений из 3, страница 1 из 1
Как быстро проверить существование записи в другой таблице в выборке
    #39261677
Добрый день.

Есть 2 таблицы: users_stats(id, day, user_id, ...) (статистика по пользователям) и purchases(id, day, user_id, sum, ...) (покупки, которые совершали пользователи).


Подскажите, как быстро выбрать всех пользователей, которые есть в статистике за определенный интервал и при этом они когда-либо совершали покупки.

Первое, что пришло в голову, сделать:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
select 
  stats.user_id
from users_stats as stats
where stats.day ... and
stats.user_id in(
  select user_id from purchases where purchases.user_id = stats.user_id
)



Есть ли другой, более быстрый способ?

Спасибо.
...
Рейтинг: 0 / 0
Как быстро проверить существование записи в другой таблице в выборке
    #39261680
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Вейник,

обычно, проверку [не]существования записи и делают специальным, соответствующим случаю оператором - [NOT] EXISTS
в качестве же его оптимизации используют LEFT JOIN ANTI
...
Рейтинг: 0 / 0
Как быстро проверить существование записи в другой таблице в выборке
    #39261861
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
INNER JOIN же
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как быстро проверить существование записи в другой таблице в выборке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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