Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подскажите как выбрать юзеров, которые не заходили более 3х месяцев / 7 сообщений из 7, страница 1 из 1
09.01.2016, 19:29:48
    #39143872
monro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите как выбрать юзеров, которые не заходили более 3х месяцев
Подскажите как выбрать юзеров, которые не заходили более 3х месяцев и не получали сообщений в течении 2 месяцев

таблица юзеров c полями table_users: id, name, email, lastlogin
таблица по отправленным сообщениям table_notice: email, time

пробовал так SELECT table_users.* FROM table_users, table_notice where table_users.lastlogin < 1444405340 and table_users.email = table_notice.email но помоемому не то
...
Рейтинг: 0 / 0
10.01.2016, 00:18:14
    #39143970
Freeze729
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите как выбрать юзеров, которые не заходили более 3х месяцев
ну почему ж не то. Ты связал таблицу пользователя и email, а время на email не дописал. Ещё одно условие будет где time < сегодня - 2 месяца
...
Рейтинг: 0 / 0
10.01.2016, 01:06:08
    #39143981
monro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите как выбрать юзеров, которые не заходили более 3х месяцев
Freeze729ну почему ж не то. Ты связал таблицу пользователя и email, а время на email не дописал. Ещё одно условие будет где time < сегодня - 2 месяца
не то т.к. если во второй таблице нет, а есть в первой таблице то не покажет, а нужно что бы показывало
...
Рейтинг: 0 / 0
10.01.2016, 01:35:29
    #39143988
Freeze729
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите как выбрать юзеров, которые не заходили более 3х месяцев
Тогда можно использовать конструкцию left join

FROM table_users left join table_notice on (table_users.email = table_notice.email)
...
Рейтинг: 0 / 0
10.01.2016, 11:34:16
    #39144017
monro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите как выбрать юзеров, которые не заходили более 3х месяцев
Freeze729Тогда можно использовать конструкцию left join

FROM table_users left join table_notice on (table_users.email = table_notice.email)
так тоже не получается: SELECT * FROM table_users left join table_notice on (table_users.email = table_notice.email AND table_notice.time < 1444405340) WHERE table_users.lastlogin < 1444405340

если во второй таблице есть строка не удовлетворяющая запросу а в первой удовлетворяющая то покажет а нужно что бы не показывало, например, юзер (table_users) не заходил три месяца на сайт, но мы уже ему отправили сообщение день назад и занесли данные об этом в таблицу table_notice, т.е. мы должны исключить его т.к. уже отправили сообщение меньше чем три месяца назад ( 1444405340 )
...
Рейтинг: 0 / 0
10.01.2016, 13:54:38
    #39144063
Freeze729
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите как выбрать юзеров, которые не заходили более 3х месяцев
FROM table_users left join table_notice on (table_users.email = table_notice.email)
WHERE table_users.lastlogin < 1444405340 and (isnull(table_notice.time) or table_notice.time < 1444405340)
...
Рейтинг: 0 / 0
10.01.2016, 15:07:40
    #39144084
monro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите как выбрать юзеров, которые не заходили более 3х месяцев
Freeze729FROM table_users left join table_notice on (table_users.email = table_notice.email)
WHERE table_users.lastlogin < 1444405340 and (isnull(table_notice.time) or table_notice.time < 1444405340)
спасибо
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подскажите как выбрать юзеров, которые не заходили более 3х месяцев / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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