powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Запрос на выборку
7 сообщений из 7, страница 1 из 1
Запрос на выборку
    #35977250
sts_stas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте,

имеется таблица вида
id - номер п/п
date_create - дата создания
name_project - название проекта
year_project - год проекта

допустим таблица заполнена следующими данными

id date_create name_project year_project
1 15/02/2009 project_1 2009
2 15/02/2009 project_2 2009
3 16/02/2009 project_1 2009
4 15/02/2009 project_3 2009

Необходимо выбрать данные у которых максимальная дата создания т.е должно получится

2 15/02/2009 project_2 2009
3 16/02/2009 project_1 2009
4 15/02/2009 project_3 2009
...
Рейтинг: 0 / 0
Запрос на выборку
    #35977421
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Запрос на выборку
    #35977454
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, вот, что лучшее:
Код: plaintext
1.
2.
3.
4.
5.
6.
select
   T1.*
from
   TableProjects T1
where
   T1.date_create>=all(select date_create from TableProjects where (name_project=T1.name_project) and (year_project=T1.year_project))
vs
Код: plaintext
1.
2.
3.
4.
5.
6.
select
   T1.*
from
   TableProjects T1
where
   T1.date_create=(select max(date_create) from TableProjects where (name_project=T1.name_project) and (year_project=T1.year_project))
???
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Запрос на выборку
    #35977555
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sts_stas
Вопрос, зачем Вам id - номер п/п ? Как я понял это уникальный ключ, Вы его сделали только потому, что это должно согласовываться с реляционной моделью? Наилучший вариант ключа так это date_create , не может быть двух одинаковых name_project созданных в одну и туже дату. И сам Ваш вопрос сразу отпадет. Использование автонумерации в качестве реляционного ключа не очень удачный выбор.
...
Рейтинг: 0 / 0
Запрос на выборку
    #35977564
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения имелось виду составной ключ date_create, name_project, конечно.
...
Рейтинг: 0 / 0
Запрос на выборку
    #35977830
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxATCИспользование автонумерации в качестве реляционного ключа не очень удачный выбор.
Спорный вопрос.
Можем представить, что его нет, и ничего это не изменит.

По существу вопроса ключевым моментом станет СУБД. В случае АСА, посмотрел бы в сторону оконных OLAP функций. Там такой запрос можно быстро состряпать. Мне лень.
...
Рейтинг: 0 / 0
Запрос на выборку
    #35977841
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iLLer,
Я и не имел ввиду, что Вы не правы, просто у меня был такой забавный случай, использовал автонумерацию уникального ключа и при переносе приложения на другую серверную платформу БД, столкнулся с такими проблемами, просто ужас, т.к. функция автонумерации нестандартна и у каждой БД разная. Теперь я такими вещами не пользуюсь. Одним из вариантов может быть и подлом базы и восстановить базу возможно будет придется с нуля. Решил поделиться со своими бывшими в прошлом проблемами.:)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Запрос на выборку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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