powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выбрать user_id за предыдущий год
8 сообщений из 8, страница 1 из 1
Выбрать user_id за предыдущий год
    #39208777
studento
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеются 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
Выбрать user_id за предыдущий год
    #39208805
studento
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста кто в силах. Второй час ночи, уже ничего в голову не лезет.
...
Рейтинг: 0 / 0
Выбрать user_id за предыдущий год
    #39208840
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
Выбрать user_id за предыдущий год
    #39208858
Можно одним сканом сделать.
Под рукой компа нет, извиняйте.
Смысл простой.
До 2015 фильтровать в вее.
Группиповать по айди.
Сумма(ииф(еар(полеДаты)=2015,1,0))
Ещё сумма с ииф на 2016
Хэвин первая сумма >0, вторая=0
...
Рейтинг: 0 / 0
Выбрать user_id за предыдущий год
    #39208873
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
Выбрать user_id за предыдущий год
    #39208952
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cdate должен быть TIMESTAMP
...
Рейтинг: 0 / 0
Выбрать user_id за предыдущий год
    #39208961
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78cdate должен быть TIMESTAMP
Дык это в Скуле.
...
Рейтинг: 0 / 0
Выбрать user_id за предыдущий год
    #39208997
так можно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выбрать user_id за предыдущий год
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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