Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Не выгружаются данные / 4 сообщений из 4, страница 1 из 1
02.01.2019, 16:09
    #39755512
hatter11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выгружаются данные
Добрый день, у меня следующий запрос:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
SELECT u.id,eb.caption AS "brands_name",t.start_at,t.end_at #отказники
 FROM users u
LEFT JOIN transactions t
 ON u.id=t.user_id
WHERE t.content_type_id IN(1)
AND t.end_at>'2018-01-01' AND t.end_at<='2019-01-01'
    AND NOT EXISTS (SELECT u1.id FROM users u1,transactions t1 WHERE t1.user_id = u1.id AND t1.status_id = 2 AND t1.start_at >= '2019-01-01' AND t1.end_at>'2019-01-01' AND t1.content_type_id IN (1))


запрос выводит пользователей из диапазона: AND t.end_at>'2018-01-01' AND t.end_at<='2019-01-01'
с условием, что этих пользователей не будет в будущем периоде: t1.start_at >= '2019-01-01' AND t.end_at>'2019-01-01'

Думаю, где-то я делаю ошибку с NOT EXISTS, потому что сам запрос срабатывает, но очень долго(4 мин), а результат совсем не выгружается а ексель(просто идёт загрузка данных уже час и всё)
Подскажите пожалуйста, что можно исправить?
...
Рейтинг: 0 / 0
02.01.2019, 16:50
    #39755521
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выгружаются данные
hatter11AND t.end_at>'2018-01-01' AND t.end_at<='2019-01-01'поле end_at два раза - это так и надо или опечатка?
И почему 1 января 2018 исключено, а 1 января 2019 года включено?
...
Рейтинг: 0 / 0
02.01.2019, 17:22
    #39755527
hatter11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выгружаются данные
miksofthatter11AND t.end_at>'2018-01-01' AND t.end_at<='2019-01-01'поле end_at два раза - это так и надо или опечатка?
И почему 1 января 2018 исключено, а 1 января 2019 года включено?нет,опечатки нет. С интервалом всё в порядке, так и должно быть.
После того как переписала подзапрос на:
Код: plsql
1.
NOT EXISTS (SELECT u.id FROM users u,transactions t WHERE t.user_id = u.id AND t.status_id = 2 AND t.start_at >= '2019-01-01' AND t.end_at>'2019-01-01' AND t.content_type_id IN (1))

заработало
...
Рейтинг: 0 / 0
03.01.2019, 00:23
    #39755601
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выгружаются данные
hatter11заработало у вас подзапрос никак не зависит от таблиц внешнего запроса, что дает сомнения в его логике.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Не выгружаются данные / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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