Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выбрать user_id за предыдущий год / 8 сообщений из 8, страница 1 из 1
05.04.2016, 21:27
    #39208777
studento
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать user_id за предыдущий год
Имеются 2 таблицы.
Первая:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
user_id	cdate
166	1448095759
166	1445611138
166	1455777166
229	1423499149
229	1442648927
224	1458758619
66	1273854331
99	1355864765
99	1362604775

Вторая:
Код: plaintext
1.
2.
3.
4.
5.
user_id	last_name	first_name	middle_name
166	1		1		1
229	2		2		2
224	3		3		3
66	4		4		4
99	5		5		5

cdate - время в unix Формате

Как можно получить имена тех, кто присутствует в списке за 2015-й год, но отсутствует в 2016-м? А все студенты до 2015-го игнорируются вообще.

Код: sql
1.
2.
3.
4.
SELECT max(cdate), user_id
FROM ast_vm_orders
WHERE (cdate>1420070401 AND cdate<1451606401)
GROUP BY user_id;


Выводит и тех, кто оказался в 2016-м. Как их обрезать можно?
...
Рейтинг: 0 / 0
05.04.2016, 22:11
    #39208805
studento
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать user_id за предыдущий год
Помогите пожалуйста кто в силах. Второй час ночи, уже ничего в голову не лезет.
...
Рейтинг: 0 / 0
06.04.2016, 00:19
    #39208840
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать user_id за предыдущий год
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select t.user_id, ast_vm_user_info.last_name
from ast_vm_user_info inner join 
(select distinct z5.*
from
(SELECT user_id FROM ast_vm_orders WHERE (cdate>1420070401 AND cdate<1451606401)) z5, 
(SELECT user_id FROM ast_vm_orders WHERE cdate > 1451606401) z6,
z5 left join z6 on z5.user_id=z6.user_id
where z6.user_id is null) t on ast_vm_user_info.user_id=t.user_id
...
Рейтинг: 0 / 0
06.04.2016, 01:42
    #39208858
Выбрать user_id за предыдущий год
Можно одним сканом сделать.
Под рукой компа нет, извиняйте.
Смысл простой.
До 2015 фильтровать в вее.
Группиповать по айди.
Сумма(ииф(еар(полеДаты)=2015,1,0))
Ещё сумма с ииф на 2016
Хэвин первая сумма >0, вторая=0
...
Рейтинг: 0 / 0
06.04.2016, 04:35
    #39208873
Выбрать user_id за предыдущий год
studento Выбрать user_id за предыдущий год
Код: sql
1.
2.
3.
4.
5.
SELECT max([cdate]), user_id
FROM ast_vm_orders
WHERE [cdate]>=1420070401
GROUP BY user_id
HAVING max([cdate])<1451606401
...
Рейтинг: 0 / 0
06.04.2016, 09:22
    #39208952
tip78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать user_id за предыдущий год
cdate должен быть TIMESTAMP
...
Рейтинг: 0 / 0
06.04.2016, 09:29
    #39208961
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать user_id за предыдущий год
tip78cdate должен быть TIMESTAMP
Дык это в Скуле.
...
Рейтинг: 0 / 0
06.04.2016, 10:20
    #39208997
так можно
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать user_id за предыдущий год
q1 (поле cdate переименовал в idate):
Код: sql
1.
SELECT t1.*, [idate]/86400+#1/1/1970# AS vDate FROM t1;


q2:
Код: sql
1.
2.
3.
4.
5.
select  distinct user_id  from q1
where
user_id in (select user_id from q1 t where vdate between #01/01/2015# and #12/31/2015#)
and
user_id not in (select user_id from q1 t where vdate between #01/01/2016# and #12/31/2016#)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выбрать user_id за предыдущий год / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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