Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Поиск максимальной даты для каждого пользователя / 14 сообщений из 14, страница 1 из 1
13.03.2014, 08:19:37
    #38584686
AlexSMG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск максимальной даты для каждого пользователя
Всем доброго времени суток!
Есть две таблицы:
1. Users
2. Visits
Структура такая:
1. Users
id_userfirst_namesecond_name
2. Visits
id_visituser_iddate_visit
Нужно для каждого пользователя вывести дату последнего посещения.
Например:
1. Users
id_userfirst_namesecond_name1ИвановИван2АндреевАндрей3АлексеевАлексей
2. Visits
id_visituser_iddate_visit1110.03.20142113.03.20143201.01.20144230.12.20135212.03.20146307.04.20137311.10.2012
В итоге должны получить:
first_namesecond_namedate_visitИвановИван13.03.2014АндреевАндрей12.03.2014АлексеевАлексей07.04.2013
Знаю, что ни чего сложного тут нет, но я только начал, поэтому опыта не хватает.
P.S. Пользуюсь IBExpert, Firebird 1.5
Спасибо!
...
Рейтинг: 0 / 0
13.03.2014, 08:55:54
    #38584707
m7m
m7m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск максимальной даты для каждого пользователя
AlexSMG,

Код: sql
1.
select user_id,max(date_visit) from ...  group by ....


ну а дальше сам
...
Рейтинг: 0 / 0
13.03.2014, 12:51:54
    #38585031
miwaonline
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск максимальной даты для каждого пользователя
m7m,

Еще join надо было добавить ;)
...
Рейтинг: 0 / 0
13.03.2014, 12:55:40
    #38585040
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск максимальной даты для каждого пользователя
Новую прилепленную тему надо бы добавить, а не джойн. И назвать её "Типовые запросы / вопросы". Ибо в месяц раз 5 одно и то же вопрошают.
...
Рейтинг: 0 / 0
13.03.2014, 12:56:23
    #38585044
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск максимальной даты для каждого пользователя
miwaonlineЕще join надо было добавить ;)
У аффтара полуторка, там join не поможет, только подзапрос.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.03.2014, 16:17:37
    #38585389
m7m
m7m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск максимальной даты для каждого пользователя
miwaonlineЕще join надо было добавить ;)
да как-то ожидал ответной реакции автора
Dimitry SibiryakovУ аффтара полуторка, там join не поможет, только подзапрос.

а что вот такое не прокатит???
Код: sql
1.
2.
3.
4.
select user_id,first_name,second_name,max(date_visit) 
    from visits
       join users on id_user=user_id
group by 1,2,3


ps/ не проверял
...
Рейтинг: 0 / 0
13.03.2014, 16:57:07
    #38585450
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск максимальной даты для каждого пользователя
m7mа что вот такое не прокатит???
А, ну да, может и прокатит. Просто я не увидел в первом посте поля id в выходной табличке
и что-то в мозгу коротнуло.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.03.2014, 17:21:00
    #38585489
miwaonline
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск максимальной даты для каждого пользователя
ТаблоидНовую прилепленную тему надо бы добавить, а не джойн. И назвать её "Типовые запросы / вопросы". Ибо в месяц раз 5 одно и то же вопрошают.
Я бы давно на твоем месте собрал твои же ответы на такие во типичные запросы и вывел их в топик типа «Советы Таблоида». Наподобии, например, вот этого топика от ДС. Только, боюсь, неофитов это не остановит :( Ну, как минимум, не всех.
...
Рейтинг: 0 / 0
13.03.2014, 17:29:11
    #38585502
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск максимальной даты для каждого пользователя
miwaonlineЯ бы давно на твоем месте собрал твои же ответы на такие во типичные запросы и вывел их в топик типа «Советы Таблоида».Если будет время, то соберусь таки. Изабэлло ибо :-)
Только предварительно надо будет обмусолить это всё с местными аксакалами и обозвать "Советы бывалых".
...
Рейтинг: 0 / 0
16.03.2014, 18:52:30
    #38587604
AlexSMG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск максимальной даты для каждого пользователя
Пробовал следующее:
Код: sql
1.
2.
3.
4.
5.
6.
select
    users.first_name, users.second_name, max(visits.date_visit)
from
    users, visits
group by 
    patient.idp


В итоге IBExpert зависает, на этом всё...
Если делаю без
Код: sql
1.
group by


Получаю ошибку:
авторcan't format message 13:896 -- message system code -4.
Dynamic SQL Error.
SQL error code = -104.
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).
...
Рейтинг: 0 / 0
16.03.2014, 18:57:18
    #38587608
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск максимальной даты для каждого пользователя
AlexSMG,

твой запрос полная чушь
1. таблицы users и visits не связаны
2. группировка по полю таблицы patient, которая во FROM не указана
...
Рейтинг: 0 / 0
16.03.2014, 18:58:08
    #38587610
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск максимальной даты для каждого пользователя
AlexSMGInvalid expression in the select list (not contained in either an aggregate
function or the GROUP BY clause).
Ну и какое слово тебе непонятно? Либо оборачивай свои users.first_name, users.second_name
в агрегатные функции, либо включай их в сисок group by.

И, кстати, когда " IBExpert зависает", сильно рекомендуется попробовать этот запрос
выполнить в isql. Он зверушка без наворотов, на ровном месте не зависает.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
16.03.2014, 20:39:03
    #38587631
AlexSMG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск максимальной даты для каждого пользователя
Симонов Денис,

Прошу простить, там не patient.idp, а users.id_user
...
Рейтинг: 0 / 0
16.03.2014, 20:48:50
    #38587632
m7m
m7m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск максимальной даты для каждого пользователя
AlexSMGПробовал следующее:
Код: sql
1.
2.
3.
4.
5.
6.
select
    users.first_name, users.second_name, max(visits.date_visit)
from
    users, visits
group by 
    patient.idp



Японский бог ну почитай внимательно то что писали
вот здесь весь запрос 15718695 который тебе нужен
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Поиск максимальной даты для каждого пользователя / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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