Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 07.09.2012
Сообщений: 6

Составить сложный запрос

07.09.2012, 12:18. Показов 2806. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Срочно нужно составить сложный запрос

В таблице RPM_ZONE_FUTURE_RETAIL хранятся изменения цен на уровне товар/ценовая зона (ITEM/ZONE). В таблице RPM_FUTURE_RETAIL хранятся изменения цен на уровне товар/магазин (ITEM/LOCATION).
Исходим из того, что мы имеем исторические изменения до 3 месяцев в прошлом и все будущие изменения. Текущая дата в системе 01/07/2011.

В нашей конфигурации, все магазины одной ценовой зоны должны иметь одинаковые цены на товар.

1. Написать SQL запрос который покажет текущую цену для товара 03020318 в каждой ценовой зоне (на 01/07/2011).


2. Написать SQL запрос который покажет неверные цены по магазинам (отличающиеся от цены определенной на уровне ценовой зоны)

Таблицы:

Таблица rpm_zone_future_retail
ITEMZONEACTION_DATESELLING_RETAIL
 
03020318 1 29.05.2011 39,99
03020318 4 29.05.2011 46,99
03020318 5 29.05.2011 46,99
03020318 1 15.06.2011 46,99
03020318 1 20.07.2012 55
03020318 4 20.07.2012 50
03020318 5 20.07.2012 50
04070777 1 29.05.2011 29,99
04070777 1 15.06.2011 46,99
04070777 5 15.06.2011 9,99
04070777 4 29.05.2011 29,99
04070777 5 29.05.2011 29,99


Таблица rpm_future_retail
 
ITEM LOCATION ACTION_DATE SELLING_RETAIL
 
04070777 1 29.05.2011 29,99
04070777 1 20.07.2012 50
04070777 4 29.05.2011 29,99
04070777 4 15.06.2011 46,99
04070777 5 29.05.2011 29,99
04070777 6 29.05.2011 29,99
04070777 7 29.05.2011 29,99
04070777 8 29.05.2011 29,99
04070777 11 29.05.2011 29,99
04070777 101 29.05.2011 29,99
04070777 103 29.05.2011 29,99
04070777 105 29.05.2011 29,99
04070777 106 29.05.2011 29,99
03020318 6 29.05.2011 46,99
03020318 7 29.05.2011 46,99
03020318 101 29.05.2011 46,99
03020318 103 29.05.2011 46,99
03020318 6 20.07.2012 50
03020318 7 20.07.2012 50
03020318 101 20.07.2012 50
03020318 103 20.07.2012 47
04070777 103 15.06.2011 9,99
04070777 1 15.06.2011 9,99
04070777 8 15.06.2011 9,99
03020318 4 29.05.2011 39,99
03020318 4 15.06.2011 46,99
03020318 4 20.07.2012 55

Таблица rpm_zone_location

ZONE_IDLOCATION
 
4 101
5 103
4 105
4 106
5 1
1 4
4 5
4 6
4 7
5 8
4 11

Таблица RPM_ZONE
ZONE_IDNAME
 
4 Zone 4
5 Zone 5
1 Base zone
2 Zone 2


Уже есть некоторые наработки:

1. Написать SQL запрос который покажет текущую цену для товара 03020318 в каждой ценовой зоне (на 01/07/2011).

select *
from rpm_zone_future_retail
where item in ('03020318') and ACTION_DATE<='01/07/2011'
order by ACTION_DATE desc


2. Написать SQL запрос который покажет неверные цены по магазинам (отличающиеся от цены определенной на уровне ценовой зоны)

select (что надо)
from rpm_zone_location
join rpm_zone_future_retail on rpm_zone_future_retail.zone= rpm_zone_location.ZONE_ID
join rpm_future_retail on rpm_future_retail.location= rpm_zone_location.LOCATION
and (условие связи rzfr и rfr)
where (тут что-то с чем-то должно не совпадать)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.09.2012, 12:18
Ответы с готовыми решениями:

нужно составить сложный запрос
доброе время суток. суть такова, структура базы приблизительно такая: Cid|Money 1 | 105 2 | -300 3 | 250 4 | 400 5 | 220...

Сложный запрос к БД
Есть БД, в ней таблица main с полями ip(адрес абонента),datetime(время запроса),size(размер ответа в байтах). Внимание!!!! Необходимо...

сложный запрос
Есть таблица А: id | date | number, id - int date - datetime number - int, 0, 1 или 2 Необходим запрос в табл А, где...

1
217 / 157 / 30
Регистрация: 11.05.2010
Сообщений: 614
11.09.2012, 09:40
если я правильно понял, то нужно выбрать итэм - зона - цена.
если в зоне есть несколько цен, то брать ту, в которой дата позже, но меньше текущей
тогда как-то так:
1.
T-SQL
1
2
3
4
5
6
SELECT z.Item, z.Zone
   , max(z.Action_Date) as Action_Date
   , first(z.Selling_Retail) as Selling_Retail
FROM rpm_zone_future_retail z
WHERE item in ('03020318') and z.Action_Date<='01/07/2011'
GROUP BY z.Item, z.Zone, max(z.Action_Date)
работает или нет, не уверен, надо пробовать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.09.2012, 09:40
Помогаю со студенческими работами здесь

Сложный запрос
Всем доброго времени суток. Всех милых дам с 8 марта!:rose: И так у меня БД: Реляционная модель: Нужно получить...

Сложный запрос
Здравствуйте!у меня есть БД: Успеваемость(#Nз, #ИдКурса, #Семестр, #УчНед, #ВидОтчета, Оценка) ОтчетГруппы(#ИдКурса, #Nгр, #УчНед,...

Сложный запрос
Всем привет! (пример) Есть 3 таблицы:Users, Auto, Motorcycles. (Они связаны через ключевое поле userID.) Мне нужно вывести...

Сложный запрос
Сгруппировать по keyGroup. Если в группе больше одной записи Если в группе есть хоть одна запись у которой isFirst = 1, получить...

Сложный запрос
Доброго времени суток! Знатоки SQL подскажите пожалуйста как привести в рабочий вид мой запрос: DECLARE @data AS XML, ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru