| |
|
|
| | Есть таблица товаров, поля: Код типа счетчик, Дата, Товар, Цена. Мне нужно выбрать последнюю цену товара (не по последней дате, а именно по последнему занесению данных в таблицу, т.е. значение Код (счетчик) будет максимальным). Достаточно ли для этого использовать групповой запрос с функцией Last?
Что-то типа
Товар.Группировка; ПоследняяЦена=Last(Цена)
или же сделать выборку по максимальному значению поля Код (счетчик), а потом установить связь с исходной таблицей и выбрать нужную запись (Цену)
Спасибо. | |
| |
| |
| |
|
|
| | Полей Дата и Цена не должно быть в таблице товаров. | |
| |
| |
| |
|
|
| | Ну, конечно же, нет. Простите, но я упрощенно написала. Есть таблица по приходу с полем Код(счетчик) и связана она по этому полю с таблицей товаров (там код(числовой), товар, цена).
Нужно максимально просто выбрать последнюю цену товара. Достаточно ли для этого
Товар.Группировка; Last(Цена)
(извините, я опять повторяюсь) | |
| |
| |
| |
|
|
| |
...с таблицей товаров (там код(числовой), товар, цена).
|
Опять 25.
Приложите принтскрин схемы данных. | |
| |
| |
|
|
| |
 48 Кб. |
|
| | И все-таки, у меня проблемка, помогите пожалуйста.... может ф-ция Last здесь неумесна?
Вот пример запроса-выборки данных рис.1
сам запрос-выборка рис.2 (указана сортировка записей по полю КодПрихода, но записи не отсортированы должным образом, см рис.1)
и, наконец, то что мне нужно - выбрать последнюю цену (рис.3) В данном случае ответ верный (по коду товара 17), но явно что-то не так. Я не могу проверить тысячи наименований... Как конкретно работает Last? Я конечно же читала help (...последняя запись из набора...) из какого набора в моем конкретном случае? Буду очень признательна за конкретный ответ. | |
| |
| |
| |
 29 Кб. |
|
| | рис.2 | |
| |
| |
| |
 21 Кб. |
|
| | рис.3 | |
| |
| |
| |
 11 Кб. |
|
| | забудьте про Last, Ваше
именно по последнему занесению данных в таблицу, т.е. значение Код (счетчик) будет максимальным) |
строиться не эфимерном предположении что в базе не будет исправлений "задним" числом, как показывает практика в 99% это не так.
Если уж Вы в этом уверены используйте MAX вместо LAST для получения максимального кода для данного товара
Кроме того такой подход не позволяет получить цены на определенную дату (не последнюю).
Посмотрите приложденную базу. В ней несколько вариантов запросов, но прринцип один, специально раздели на несколько запросов, что бы было понятнее.
ЗЫ. На будующее, скрины запросов мало что дают (тем более в режиме конструктора), лучше кусочек базы с нужными таблицами и немного данных в них. | |
| |
| |
| |
|
|
| | Если стоит вопрос о последней цене товара, можно проще
Есть таблица товаров, поля: Код типа счетчик, Дата, Товар, Цена
|
отслеживать приход товара и при поступлении его заносить в эту таблу текущую цену (если очень хочется то можно даже с датой и даже проверять если дата прихода больше даты в справочнике - то обновляем цену, если меньше то фиг вам).
т.о. у вас будет реальная цена на текущий момент, очень много ей применений, - а конкретную цену конкретной партии храним в таблице прихода. | |
| |
| |
| |
|
|
| | А разве может быть - реальная цена товара?
Реальная - эт оптовая а текущая она - эт как решит владелец
У каждой партии она своя и продавать нуна по различным ценам...
А иначе просто цена и всё - пришла новая партия с новой ценой - просто у товара цену сменили и всё вот она и есть одна единственная и текущая и актуальная и пименяемая...........
.........................  | |
| |
| |
| |
|
|
| | Реальная - эт оптовая а текущая она - эт как решит владелец |
так оптовую тоже определил владелец (бывший)
так что получается что реальной цены НЕТ!!!  | |
| |
| |
| |
|
|
| | а НДС на что начисляют
на стоимость
получается что себестоимость и есть реальная цена а все остальное накрутки или добавленная стоимость | |
| |
| |
|
|
| |
|
|
| | Сходил в переводчик - перевёл ник - получилось -> стрелять из укрытия  | |
| |
| |
| |
|
|
| | переводчик у тебя странный
там много значений
одно из них бекас - маленькая серенькая птичка живущая на болоте
а поскольку маленькая то попасть в нее трудно таким образом человек который стрелял в бекасов (и попадал) назывался снайпер | |
| |
| |
|
|
|
|
|
|
|
|
|
|