|
Найти последнюю отгрузку | ☑ | ||
---|---|---|---|---|
0
lamme
24.05.17
✎
17:22
|
Есть запрос. Большой. Который выводит вот такую вот таблицу в итоге
http://skrinshoter.ru/s/240517/v04llpYH Этот запрос оформлен как вложенный запрос http://skrinshoter.ru/s/240517/Xy2bOugS Вот как бы - в итоговой таблице все красиво. Пытаюсь определить дату последней отгрузки: ВЫБРАТЬ ПЕРВЫЕ 1 РеализацияТоваровУслуг.Дата КАК ДатаПоследнейОтгрузки, РеализацияТоваровУслуг.ЗаказКлиента КАК ЗаказКлиента ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг УПОРЯДОЧИТЬ ПО ДатаПоследнейОтгрузки УБЫВ Вроде работает. Отдельно работает. Отдельно от основного запроса. Этот запрос оформляю вложенным. Связываю два запроса - большой и этот .. http://skrinshoter.ru/s/240517/xO7NBFzA и в колонке ДатаПоследнейОтгрузки - большого запроса - нет ничего ... мне грустно ... |
|||
1
lamme
24.05.17
✎
17:29
|
чянд ?
|
|||
2
dezss
24.05.17
✎
17:30
|
А этот заказ в этом большом запросе точно есть?
|
|||
3
h-sp
24.05.17
✎
17:31
|
(1) так у вас один заказ? какой смысл в этом запросе?
|
|||
4
dezss
24.05.17
✎
17:31
|
(2) + заказ самой последней отгрузки.
|
|||
5
lamme
24.05.17
✎
17:33
|
большой запрос выбирает заказы.
надо найти последнюю отгрузку. так что этот заказ там точно есть заказ не один. много. и у этого заказа есть 3 отгрузки разными датами в запросе установил отбор по одному заказу - чтобы не получалось большой итоговой таблицы |
|||
6
Buster007
24.05.17
✎
17:36
|
все не читал, скрины не смотрел, но похоже проблема здесь:
ВЫБРАТЬ ПЕРВЫЕ 1 |
|||
7
lamme
24.05.17
✎
17:37
|
а почему тут проблема?
Выбирается первый документ - с сортировкой по убыванию |
|||
8
lamme
24.05.17
✎
17:37
|
пока не уловил почему
|
|||
9
lamme
24.05.17
✎
17:38
|
Если убрать ВЫБРАТЬ ПЕРВЫЕ 1
то в итоговой таблице получается строк - ровно в три раза (по количеству отгрузок) больше строк - чем в самом документе заказ. |
|||
10
lamme
24.05.17
✎
17:39
|
но при этом ДатаПоследнейОтгрузки - заполняется ...
так .. и что тогда в логике не так ? |
|||
11
Buster007
24.05.17
✎
18:03
|
(10) похоже проблема в понимании...
убери "первые 1" и Максимум(РеализацияТоваровУслуг.Дата) ... сгруппировать по РеализацияТоваровУслуг.ЗаказКлиента |
|||
12
eryomin
24.05.17
✎
20:11
|
(10) а где у тебя логика? построй сначала таблицу последних отгрузок по заказам, а потом уже ее связывай. последние - это с максимальной датой, а среди них - с максимальной ссылкой
|
|||
13
lamme
25.05.17
✎
09:22
|
(12)
почему то думалось - что подзапрос .. там где выбрать первые 1 - это и есть таблица с отгрузками - отсортированная по дате ... (11) да - так заработало. логика не понятна. понимание - не понятно ( |
|||
14
h-sp
25.05.17
✎
09:23
|
(13) выбрать первые 1 - это одна реализация. Причем всегда одинаковая, одна и та же. Независимо от заказа.
|
|||
15
lamme
25.05.17
✎
09:27
|
(14)
тогда почему вот такой вот запрос ВЫБРАТЬ ПЕРВЫЕ 1 РеализацияТоваровУслуг.Дата КАК ДатаПоследнейОтгрузки, РеализацияТоваровУслуг.ЗаказКлиента КАК ЗаказКлиента ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ГДЕ РеализацияТоваровУслуг.ЗаказКлиента = &Заказ УПОРЯДОЧИТЬ ПО ДатаПоследнейОтгрузки УБЫВ выдает правильный результат ? |
|||
16
lamme
25.05.17
✎
09:28
|
разницы не вижу между отдельным запросом в (15) и этим же запросом - оформленным в подзапрос в большом запросе
|
|||
17
Ёпрст
25.05.17
✎
09:31
|
(16) выбрать всегда 1 (одну, КАРЛ!) запись, или много, но с максимумом по дате, для вас, одинаково ?
:) |
|||
18
dezss
25.05.17
✎
09:31
|
(16) у тебя всегда будет только одна реализация по одному заказу, а в большом запросе он же у тебя не один...
|
|||
19
lamme
25.05.17
✎
09:32
|
(17)
нет, не одинаково. |
|||
20
Ёпрст
25.05.17
✎
09:36
|
(19) ну вот и ответ, в чем разница, между Выбрать Первые 1 с упорядочиванием, от
выбрать Максимум(дата) сгруппировать по параметр |
|||
21
eryomin
25.05.17
✎
18:39
|
(15) запрос дает правильный результат, потому что для одного конкретного заказа в результат выводится ровно одна строка (или вообще ни одной), которая тебе нравится. а если ты в параметр &Заказ загрузишь список заказов, то тоже получишь ровно одну строку. с последней датой для всего этого списка.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |