|
|
|
Помогите с построением сложного запроса.
|
|||
|---|---|---|---|
|
#18+
Не может ли кто-нибудь помочь с запросом? У меня есть 2 таблицы: Одна со списком названий акций. Во второй лежат цены этих акций на разные даты. Надо: Чтобы из запроса выдовалось для каждой акции - последняя цена, дата последней цены, цена приблизительно за квартал до последней цены и дата. Основная проблема: на дату ровно квартал назад, может не быть котировки, и надо выбрать ближайшую котировку. Очень желательно как-то реализовать это через SQL, а не VBA. Так как размер второй таблицы крайне велик(десятки тысяч записей), а насколько я знаю VBA работает медленее чем SQL. Буду крайне благодарен за любую помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 14:11:47 |
|
||
|
Помогите с построением сложного запроса.
|
|||
|---|---|---|---|
|
#18+
Ответ на часть вопроса есть тут: http://sql.ru/forum/actualthread.aspx?tid=135145 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 15:21:44 |
|
||
|
Помогите с построением сложного запроса.
|
|||
|---|---|---|---|
|
#18+
Спасибо за ссылку. 1)Это по поводу первой трети вопроса:Как напротив последней даты выводить цену ей соответствующую. Сам я эту часть мене красиво делал, через 2 запроса, хотя по смыслу тоже направление. 2)Вторая треть: Это как вывести в одной строке максимальную дату с ценой ей соответствующей и дату на квартал меньше с ценой?(чтоб именно в одной строке, а НЕ две соседние строки(в одной на одну дату, в другой на вторую). 3)Третья, и самая сложная часть:Как при отсутствии даты(нет котировки на эту дату) ровно на квартал меньшей, найти ближайшую дату с котировкой? Буду крайне благодарен за помощь с оставшимися 2/3 вопроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2005, 00:44:38 |
|
||
|
Помогите с построением сложного запроса.
|
|||
|---|---|---|---|
|
#18+
В TSQL пригодится функция: Код: plaintext 1. 2. 3. 3) В глову приходит такое: MIN(ABS(1-DATEDIFF (qq , Дата , MAX(Дата)))) PS А лучше эти вопросы задать на форуме по MS SQL: http://sql.ru/forum/actualtopics.aspx?bid=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2005, 10:54:08 |
|
||
|
Помогите с построением сложного запроса.
|
|||
|---|---|---|---|
|
#18+
/topic/88919&pg=2#647540 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2005, 12:21:18 |
|
||
|
Помогите с построением сложного запроса.
|
|||
|---|---|---|---|
|
#18+
Огромнейшее спасибо за идею с тертьей частью вопроса, сделал. Теперь осталось решить 2 треть вопроса(сделать красивое оформление). У меня осталась таблица с датами с шагом приблизительно в квартал(чтоб котировки были): Акция Д1 Д2 Д3 А1 Д11 Д12 Д13 А2 Д21 Д22 Д23 А3 Д31 Д32 Д33 , где в столбце Д1 - последняя дата для каждой акции, в Д2 - дана на квартал меньшая, на которую есть котировка, в Д3 - на 2 квартала. Хочется сделать запрос показывающий следующее: Акция Д1 Д2 Д3 А1 Ц11 Ц12 Ц13 А2 Ц21 Ц22 Ц23 А3 Ц31 Ц32 Ц33 , где Цij - цена на дату Дij акции i Мне удается добиться слишком некрасивого варианта: Акция Д11 Д12 Д13 Д21 Д22 Д23 Д31 Д32 Д33 А1 Ц11 Ц12 Ц13 Null Null Null Null Null Null А2 Null Null Null Ц21 Ц22 Ц23 Null Null Null А3 Null Null Null Null Null Null Ц31 Ц32 Ц33 Если кто может посоветовать как добиться таблицы предпоследнего вида - пожалуйста подскажите. P.S. О более подходящем разделе для вопросов этого типа понял. При следующем вопросе - сменю рубрику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2005, 15:08:05 |
|
||
|
Помогите с построением сложного запроса.
|
|||
|---|---|---|---|
|
#18+
gluckeХочется сделать запрос показывающий следующее: Акция Д1 Д2 Д3 А1 Ц11 Ц12 Ц13 А2 Ц21 Ц22 Ц23 А3 Ц31 Ц32 Ц33ИМНО, не есть правильно, т.к. Д1, Д2, Д3 у разных акций разные, т.е. нужно примерно так: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2005, 16:41:59 |
|
||
|
Помогите с построением сложного запроса.
|
|||
|---|---|---|---|
|
#18+
Безусловно можно и так. Наверное для внешнего пользователя последний вариант будет лучше. Но вопрос как сделать хотябы один из двух вариантов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2005, 23:35:33 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32877785&tid=1669101]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
34ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 331ms |

| 0 / 0 |
