powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите постороит запрос!
24 сообщений из 24, страница 1 из 1
Помогите постороит запрос!
    #39437810
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день!
Есть таблица:
ДатаНазваниеЦена12.04.2017Яблоко2513.04.2017Яблоко3012.04.2017Груша5015.04.2017Яблоко26
Надо создать запрос:
1.Название - GROUP
2.Дата - MAX
3.Цена - которая на против MAX(Дата). (Вот тут у меня проблема.)
В итоге вот так должно получится:
ДатаНазваниеЦена12.04.2017Груша5015.04.2017Яблоко26
Спасибо!
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39437822
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008,

Код: sql
1.
2.
3.
SELECT Дата, Название, Цена 
FROM Tabl AS T
WHERE Дата=(SELECT TOP 1 Дата FROM Tabl WHERE Название=T.Название ORDER BY Дата DESC)
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39437845
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Спасибо!
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39437867
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__MichelleAbisma2008,

Код: sql
1.
2.
3.
SELECT Дата, Название, Цена 
FROM Tabl AS T
WHERE Дата=(SELECT TOP 1 Дата FROM Tabl WHERE Название=T.Название ORDER BY Дата DESC)


Рано радовался)
ДатаНазваниеКоличествоЦена12.04.2017Яблоко102513.04.2017Яблоко123012.04.2017Груша55015.04.2017Яблоко126
4.Если Количество - SUM?
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39437873
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
SELECT t1.*
FROM [Таблица] AS t1
INNER JOIN ( SELECT MAX(t2.[Дата]) AS [Дата], t2.[Название]
             FROM [Таблица] AS t2
             GROUP BY t2.Название
           ) AS t3 ON t1.[Дата] = t3.[Дата]
                  AND t1.[Название] = t3.[Название]
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39437930
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008__MichelleAbisma2008,

Код: sql
1.
2.
3.
SELECT Дата, Название, Цена 
FROM Tabl AS T
WHERE Дата=(SELECT TOP 1 Дата FROM Tabl WHERE Название=T.Название ORDER BY Дата DESC)


Рано радовался)
ДатаНазваниеКоличествоЦена12.04.2017Яблоко102513.04.2017Яблоко123012.04.2017Груша55015.04.2017Яблоко126
4.Если Количество - SUM?Не могли бы Вы сформулировать словами, что именно требуется?
А то из первой картинки я поняла, что нужно для каждого Названия вывести запись с максимальной Датой.
Это не так?
Что значит "4.Если Количество - SUM?"?
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39437949
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Да Вы правы, нужно для каждого Названия вывести запись с максимальной датой. (при этом количество суммировалось)
Но первый раз я про количество забыл.
В итоге вот так должно быть:
ДатаНазваниеКоличествоЦена15.04.2017Яблоко232612.04.2017Груша550
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39437966
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
SELECT Дата, Название, Цена, 
       (SELECT Sum(Количество) FROM Tabl WHERE Название=T.Название) AS КоличествоСумма 
FROM Tabl AS T WHERE Дата=(SELECT TOP 1 Дата FROM Tabl WHERE Название=T.Название ORDER BY Дата DESC)
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39438080
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
Ошибка:
"Данный подчиненный запрос должен возвращать не более одной записи"
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39438089
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДатаНазваниеКоличествоЦена12.04.2017Яблоко102513.04.2017Яблоко123012.04.2017Груша55015.04.2017Яблоко126
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39438090
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008,

Ну, поставьте TOP 1 перед Sum(Количество)

(SELECT TOP 1 Sum(Количество)........

Хотя и без этого должно работать.
Странно, что у Вас выдает ошибку.
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39438093
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь.
У меня в таблице есть данные дата и количество одинаковые а цена разные
ДатаНазваниеКоличествоЦена12.04.2017Яблоко102513.04.2017Яблоко123012.04.2017Груша55015.04.2017Яблоко12615.04.2017Яблоко136
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39438100
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
Вот база, если будут время посмотрите пожалуйста!
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39438113
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008Извиняюсь.
У меня в таблице есть данные дата и количество одинаковые а цена разные
ДатаНазваниеКоличествоЦена12.04.2017Яблоко102513.04.2017Яблоко123012.04.2017Груша55015.04.2017Яблоко12615.04.2017Яблоко136Я видела.
И на что это должно влиять?
Поясните, пожалуйста.
И еще, как увязываются суммы Количеств с данными за последнюю дату?

Я сейчас еду в транспорте, смотреть базу не могу.
Может, позже.
Но только разъясните задачу подробнее.
Лучше всю задачу словами.
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39438124
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Попробую объяснить

Мне надо создать запрос который должно показать:
Группировать все виды фрукты, суммировать количество, а цену не суммируем и не группируем. Брать надо последнюю. (последняя цена это получается последняя дата)
Как-то так.
Надеюсь Вы меня поняли.
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39438139
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008,

Но ведь запрос отсюда 20398768 это и делает.
Или нет?
Пробовали TOP 1 добавлять?
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39438145
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

авторНо ведь запрос отсюда 20398768 это и делает.
Да.
авторПробовали TOP 1 добавлять?
Да.

Я в таблице где "15.04.2017, Яблоко, 1, 36" Дату поменял на "16.04.2017" всё работает.
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39438196
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008,

Значит, базу смотреть уже не надо?
Все получилось?
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39438211
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Нет, посмотрите пожалуйста.
Я же не буду на будущий дату применять.
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39438222
Прогер_самоучка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008__Michelle,

Попробую объяснить

Мне надо создать запрос который должно показать:
Группировать все виды фрукты, суммировать количество, а цену не суммируем и не группируем. Брать надо последнюю. (последняя цена это получается последняя дата)
Как-то так.
Надеюсь Вы меня поняли. а как понять какая из цен у вас последняя? Из ваших слов у вас их две.
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39438240
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прогер_самоучка,
Пардон. Неподумал об этом.
Может использовать "Max(date)" ?
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39438245
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Abisma2008Прогер_самоучка,
Пардон. Неподумал об этом.
Может использовать "Max(date)" ?
"Max(id)"
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39438339
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008,

Посмотрите это:
Код: sql
1.
2.
3.
4.
5.
6.
SELECT Код,Дата, Название, Цена, 
       (SELECT Sum(Количество) FROM Tabl WHERE Название=T.Название) AS КоличествоСумма
FROM Tabl AS T
WHERE Дата=(SELECT TOP 1 Дата FROM Tabl WHERE Название=T.Название ORDER BY Дата DESC, Код DESC) AND
      Код=DMax("Код","Tabl","Название='" & T.Название & "' AND 
      Дата=" & Format((SELECT TOP 1 Дата FROM Tabl WHERE Название=T.Название ORDER BY Дата DESC, Код DESC),"\#mm\/dd\/yyyy\#"));
...
Рейтинг: 0 / 0
Помогите постороит запрос!
    #39438439
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Спасибо, то что надо!
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите постороит запрос!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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