
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
03.05.2019, 14:43
|
|||
|---|---|---|---|
|
|||
sql запрос поиск ближайшего значения |
|||
|
#18+
Доброго времени суток. В sql я не очень силен (в основном делаю только линейные выборки, сортировки, группировки), окажите содействие в решении следующей задачи. Есть вьюшка результатом которой мы получаем- дата(формат 20190101 -число), номенклатура (формат число), количество (число), сумма оборот (число) получаем порядка 3 млн строк. Есть другая вьюшка, результат которой- дата (число 20190101), номенклатура (число), себестоимость за единицу (число), порядка 300 тыс строк. Необходимо к первой вьюшке прикрутить себестоимость из 2, по следующему условию - Вьюшка1.Номенклатура = Вьюшка2.Номенклатура И Вьюшка2.Дата<=Вьюшка1.Дата (ищем ближайшее значение себестоимости по номенклатуре и периоду). Пробовал к первой вьюшке делать подзапрос (Select top 1 себестоимость From вьюшка2 where Вьюшка1.Номенклатура = Вьюшка2.Номенклатура И Вьюшка2.Дата<=Вьюшка1.Дата Order by Дата), но это висит просто неимоверно долго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.05.2019, 16:10
|
|||
|---|---|---|---|
sql запрос поиск ближайшего значения |
|||
|
#18+
Кнопка "Сделать фсе быстро и правильно" никак не выйдет из стадии бета-тестирования. Вариантов у тя два 1. Быстрый и неправильный - материализовать View: select * into #t from View/ 2. Небыстрый и правильный - таки выкинуть из вьюшек лишнее и написать их правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.05.2019, 16:18
|
|||
|---|---|---|---|
|
|||
sql запрос поиск ближайшего значения |
|||
|
#18+
BatersНеобходимо к первой вьюшке прикрутить себестоимость из 2, по следующему условию - Вьюшка1.Номенклатура = Вьюшка2.Номенклатура И Вьюшка2.Дата<=Вьюшка1.Дата (ищем ближайшее значение себестоимости по номенклатуре и периоду). Пробовал к первой вьюшке делать подзапрос (Select top 1 себестоимость From вьюшка2 where Вьюшка1.Номенклатура = Вьюшка2.Номенклатура И Вьюшка2.Дата<=Вьюшка1.Дата Order by Дата), но это висит просто неимоверно долго. 3. Попробуй через CROSS APPLY - вдруг повезёт. 4. Попробуй переписать запрос - вместо названий вьюшек подставить их определение - иногда это помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.05.2019, 16:36
|
|||
|---|---|---|---|
|
|||
sql запрос поиск ближайшего значения |
|||
|
#18+
а функция last_Value (MS 2012) может ине подсобить (гуглю, все похожее)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.05.2019, 17:54
|
|||
|---|---|---|---|
sql запрос поиск ближайшего значения |
|||
|
#18+
Может помочь lead/lag: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1687875]: |
0ms |
get settings: |
4ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
220ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 490ms |

| 0 / 0 |
